一、字符串函数
1、ASCII(‘字符串‘) --返回该字符串最左端字符的ASCII码值
select ASCII(‘a‘) --返回97
select ASCII(‘abcd‘) --也返回97
2、 CHAR(‘整数‘) --将ASCII码值转换为字符,整数范围0-255
select CHAR(‘97‘) --返回a
3、LEN() --返回给定字符串的长度,不包含尾部空格
select LEN(‘aassdd‘) --返回6
select LEN(‘ aassdd‘) --返回8
select LEN(‘ aassdd ‘) --返回8
4、LEFT --截取左端字符串
LEFT(‘字符串‘,位数)
select LEFT(‘abcdefg‘,3) --返回abc
RIGHT --截取右端字符串
select RIGHT(‘abcdefg‘,3) --返回efg
5、LOWER和UPPER
select LOWER(‘AbCdEfG‘) --返回abcdefg
select UPPER(‘AbCdEfG‘) --返回ABCDEFG
二、日期和时间函数
1、DATEADD --向指定日期加上一段时间,返回新的datetime值
DATEADD(时间间隔类型(年、月、日),间隔的时间(整数),‘时间日期‘)
例:select DATEADD(MONTH,2,‘1993-08-28‘) --返回1993-10-28
2、DATEDIFF --求两个日期之间的差值
格式:DATEDIFF(时间间隔类型(年、月、日),‘开始时间‘,‘结束时间‘)
select DATEDIFF(YEAR,‘1990-03-02‘,‘1997-12-08‘) --返回7
select DATEDIFF(MONTH,‘1990-03-02‘,‘1997-12-08‘) --返回93
select DATEDIFF(DAY,‘1990-03-02‘,‘1997-12-08‘) --返回2838
3、DAY、MONTH、YEAR --取出时间中的年月日
格式:DAY(data) 、MONTH(data)、YEAR(data)
select DAY(‘1987-09-18‘) --返回18
select MONTH(‘1987-09-18‘) --返回9
select YEAR(‘1987-09-18‘) --返回1987
4、GETDATE --取当前系统时间
select GETDATE() --返回当前时间2015-04-01 11:01:30.687
三、数值函数
1、CEILING 天花板数 (返回大于或等于所给数字的最小整数)
FLOOR 地板数 (返回小于或等于所给数字的最大整数)
select CEILING(5.4) --返回6
select FLOOR(5.4) --返回5
2、RAND
select RAND() --生成0-1之间的随机float数
3、POWER --返回乘方
select POWER(3,2) --返回9
select POWER(2.15,3) --返回9.94
4、CONVERT --类型转换(CAST...AS也是类型转换)
例:BIRTHDAY=1997-8-28
CAST ( YEAR(BIRTHDAY) AS varchar(10) +‘年‘+MOUTH(BIRTHDAY) AS varchar(10) +‘月‘+DAY(BIRTHDAY) AS varchar(10) +‘日‘)
执行完后日期变为:1997年8月28日