4月1日 SQL常用函数

一、字符串函数

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日

原文地址:https://www.cnblogs.com/tzq9308/p/4383346.html