根据字面意思就基本上理解了,日期函数就是对日期进行处理的,字符串函数就是处理字符串的,下面一个个单独介绍。
一,日期函数
1,计算两个日期之间的间隔
语法:datediff(参与计算的日期部分,开始日期,结束日期)
参数解释:
参与计算的日期部分:该参数可以为年、月、日、时、分、秒,分别是:year/month/day/hour/minute/second
开始日期:时间间隔的开始日期
结束日期:时间间隔的结束日期
案例:计算2014年1月1日到2018年8月8日相隔多少个月
代码:
select datediff(month,'2014-1-1','2018-8-8')
执行结果:
答案是55个月
2,获取当前时间
getdate()
案例:获取当前时间
代码:select getdate()
执行结果:
3,日期增加函数,用默认日期加上一定的时间,返回一个新日期
语法:dateadd(要加的时间部分,日期增量,默认日期)
参数解释:
要加的时间部分:可以是年/月/日/时/分/秒,year/month/day/hour/minute/second
日期增量:数值,表示要增加的时间部分的数值。
默认日期:要加上一定时间的默认日期
案例:计算三天之后的日期
代码:select dateadd(day,3,getdate())
执行结果:
4,获取日期特定部分的函数
语法:datepart(日期部分,默认日期)
日期部分:指定要获取的日期的部分:可以是年/月/日/时/分/秒
默认日期:要获取的日期部分的日期
案例:获取本月月份
代码:select datepart(month,getdate())
执行结果:
结果是本月是三月
还有一些指定获取日期部分的函数,如year(),month(),day(),分别是获取参数的年份、月份、日
常用的日期函数就是以上这些,日期函数还有很多,不一一介绍了,只介绍常用的。
二,字符串函数
1,返回指定字符串的小写形式
语法:Lower(字符串)
参数解释:
字符串:要返回小写形式的字符串,可以是列名
案例:获取"Hello"的小写形式
代码:select Lower('Hello')
执行结果:
2,返回指定字符串的大写形式
语法:Upper(字符串)
参数解释:
字符串:要返回大写形式的字符串,可以是列名
案例:获取:'Hello'的大写形式
代码:select Upper('Hello')
执行结果:
3,返回去掉左边空格后的字符串
语法:ltrim(字符串)
参数解释:
字符串:待处理字符串,可以是列名
案例:把字符串' Hello'去掉左边空格
代码:select ltrim(' Hello')
执行结果:
同理,去掉右边空格和去掉左右空格的函数分别是:rtrim(),trim()
4,截取从左起特定数目字符的字符串
语法:left(字符串,截取数目)
字符串:待处理字符串
截取数目:左起截取的字符数目
案例:截取字符串'Hello'从左边起的两个字符
代码:select left('Hello',2)
执行结果:
同理,截取右边起特定数目字符的函数是:right()。
5,获取字符串字符长度的函数
语法:len(字符串)
字符串:待处理字符串,可以是列名
案例:获取字符串'Hello'有多少个字符
代码:select len('Hello')
执行结果:
结论是5个字符,
那么换一种写法,如果加入中文字符呢,实验一下:
代码:select len(N'Hello你好')
执行结果:
结论是7个字符,一个汉字在这里是一个字符,因为该函数仅仅计算字符数目,而不是所占字节数目。
6,获取字符串所占字节数目的函数
语法:datalength(字符串)
案例:获取字符串'Hello你好'所占的字节数目
代码:select datalength('Hello你好')
执行结果:
结论是占9个字节,因为一个汉字占两个字节。
常用字符串和日期函数介绍完毕。