黑马程序员—传智播客sql从入门到提高视频知识整理(4)

时间:2021-09-11 23:35:04

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

数字函数(*):
ABS():绝对值。select abs(-7) 返回结果为7。
ceiling():舍入到最大整数,例如,2.12舍为3,3.98舍为4,-5.61舍为-5。
floor():舍入到最小整数,lir,2.12舍为2,3.98舍为3,-5.61舍为-6。
round():四舍五入。select round(-3.61,0)查询结果为-4.00。
select round(3.29458,3)结果为3.295。(括号内“,”后的的数字代表精度,即精确到小数点后几位)。

len()计算字符串长度:
select len('abc') 结果为3。
select name,len(name) from tb_Student;(返回姓名和姓名长度)
lower()转小写,upper()转大写:
select lower('Ac') 结果为ac;select upper('Ac')结果为AC。
ltrim()去掉左边空格,rtrim()去掉右边空格:
select ltrim(name),rtrim(name),ltrim(rtrim(name)) from tb_Student;
(查询结果为去掉左边空格,去掉右边空格和去掉两边空格的姓名列)

截取字符串,substring(string,start_position,length),string指要截取的字符串,start_position为要截取的字符串起始位置,length代表你要截取的字符串长度:
substring('nannanzhouzhou',4,7) 结果为nanzhou。
select name,substring(name,2,2) from tb_Student.

计算增加以后的日期:dateadd(datepart,number,date),datepart为计量单位,number为增量,date为要计算的日期:
dateadd(day,5,getdate())结果为当前日期3天后的日期。
dateadd(month,-3,getdate())结果为当前时间3个月前的日期。
计算两个日期之间的差额:datediff(datepart,startdate,enddate):
select datediff(hh,getdate(),dateadd(day,3,getdate()));为3天后的日期与当前时间相差的小时数,结果为72。
返回日期的特定部分:
select datepart(year,getdate()),datepart(month,getdate())查询结果为当前的年份与当前的月份。
datepart可选值:
年份 year yy yyyy
季度 quarter qq q
月份 month mm m
当年度的第几天 dayofyear dy y
日 day dd d
当年度的第几周 week wk ww
周几 weekday dw w
小时 hour hh
分 minute mi n
秒 second ss s
毫秒 millisecond ms

类型转换函数:expression为要进行转换的表达式,type为要转换成的类型,
cast(expression as type)
convert(type,express)
select cast('123' as int)+1,cast('2012-04-16' as datetime),convert(datetime,'2013-05-05'),convert(varchar(50),123);
select datepart(year,cast('2012-04-04' as datetime));结果为2012

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------