一:子查询一个常见应用,分页查询
1.每页设置为多少条(5条);2.要找第几页(3)
这里每页5条,要显示第3页的内容,需要显示前10条内容之后的最上面5条
select top 5*from car where code not in
(
select top 10 code from car
)
2.取总页数,总页数用所有的条数除以每页几条,这里用了5.0是为了让输出的为小数,之后再用ceiling函数取大于当前数值的最小整数
select ceiling(COUNT(*)/5.0) from car --ceiling 大于当前值的整数
二:数据库常用的函数
1.sqrt():开平方函数,用于数值的开平方
2.ceiling():取大于当前小数值的最小整数
3.floor():取小于当前小树值的最大整数
4.round():四舍五入到小数点的某一位,如round(345.876,2)是保留345.876小数点后两位,结果是345.88,如果取到十位数则用-1.
5.abs():绝对值函数,取此数的绝对值,可以应用于数据库中一些比较乱的值的加减操作。
6.rand():默认以当前时间作为种子生成随机数(0-1)之间
7.lower():转换为小写
8.upper():转换为大写
9.str():数值转换为字符串类型,一般用cast比较好点
10.ltrim():压缩左边的空格
rtrim():压缩右边的空格
11.left():从左边开始截取,截取几个字符,如:select left(title,10)+'...'from news,表示从titile中左边开始截取,截取10个字符
right():从右边开始截取,截取几个字符
substring():从任意位置开始截取,截取任意几个字符。如select substring(title,5,4) from news ,表示从第五个字符开始截取,截取2个字符
12.reverse():倒序,翻转
13.charindex():某个字符串开始的位置,返回的是数字,如果返回0,则代表此字符串不存在,
如:select charindex('中国',title) from news,查中国在title中出现的位置
14.replace():替换,replace(title,'中国','美国')将出现的中国替换为美国显示
15. stuff():用另一子串替换字符串指定位置长度的子串
16.cast():类型转换,cast(表达式,as,数据类型)
如:cast(123 as varchar(20)) 将123 转换为字符串类型,cast用的比较多
17.len():取字符串的长度,即查有多少个字符
18. year():取时间类型中的年份
month():取时间类型中的月份
day():取时间类型中的日
19.getdate():取当前时间
datepart():取日期的某一部分,如datepart(hh,sbirthday)是取生日中的时
年是yy,月是mm,日是dd,时是hh,分是mi,秒是ss,毫秒是ms