sqlserver函数大全

select left('qwerttyiii',3) --qwe
select right('qwerttyiii',3) --iii

select len('qwerttyiii') --10

select lower('qwerttyiiI') --qwerttyiii
select upper('qwerttyiii') --QWERTTYIII

select ltrim(' qwerttyiii')  --qwerttyiii      --返回删除了前导空格之后的字符表达式
select rtrim('qwerttyiii ')  --qwerttyiii      --返回删除了尾随空格之后的字符表达式

patindex(字符串表达式 1,字符串表达式 2)      -- 2中字符串表达式 1所指定模式第一次出现的起始位置。没有找到返回0
select patindex('%ab%','123ab456')   --返回4
select patindex('___ab%','123ab456') --返回1   

select reverse('abcde')  --返回edcba  

space(整数表达式) --返回由指定数目的空格组成的字符串。
select 'a'+space(2)+'b'  --返回a  b        

str(float型小数,总长度,小数点后保留的位数) --返回由数字转换成的字符串
总长度:包括小数点、符号、数字以及空格。默认值为10
注:小数点后最多保留16位 默认不保留小数点后面的数字
select str(123.451)      --返回(       123)
select str(123.451,3)    --返回123
select str(123.451,7,3)  --返回123.451
select str(123.451,7,1)  --返回123.5(截断时遵循四舍五入)
select str(123.451,5,3)  --返回123.5
select str(123.651,2)    --返回**

stuff (字符串表达式 1,开始位置,长度,字符串表达式2) 
select stuff('abcdef',2,2,'123')   --返回 a123def 
注:
1中在指定的开始位置删除指定长度的字符,并在指定的开始位置处插入字符串表达式2


substring(字符串表达式,开始位置,长度2) --截取从开始位置的长度2
select substring('abcdef',2,2)   --返回bc

replace(字符串表达式1,字符串表达式2,字符串表达式3)  --将字符串表达式1中的字符串表达式2 用字符串表达式3来代替
Select replace('abcttabchhabc','abc','123')  --返回123tt123hh123


dateadd(日期部分,数字,日期)  --返回给指定日期加上一个时间间隔后的新的日期值
注:
季:quarter,qq,q        月:month,mm, m
dayofyear天:dy, y      星期:week,wk, ww
weekofday天:dw, w      小时:hour,hh
分钟:minute,mi, n      秒:second,ss, s      毫秒:millisecond,ms
select dateadd(year,45,'1990-12-11')  --返回 2035-12-11 00:00:00.000
select dateadd(yy,-12,'1990-12-11')   --返回 1978-12-11 00:00:00.000
--
select dateadd(month,45,'1990-12-11') --返回 1994-09-11 00:00:00.000
select dateadd(mm,45,'1990-12-11')    --返回 1994-09-11 00:00:00.000
--
select dateadd(qq,12,'1990-12-11')    --返回 1993-12-11 00:00:00.000
select dateadd(hh,12,'1990-12-11')    --返回 1990-12-11 12:00:00.000


datediff(日期部分,开始日期,结束日期)  --返回两个指定日期的指定日期部分的差的整数值
注:
dw或dy或dd:表示 天
        wk:表示一年中的第几个星期
        dy:表示一年中的第几天
        dw:表示一星期中星期几,返回整数默认 1 为星期天
select datediff(yy,'1990-12-11','2008-9-10')   --返回 18
select datediff(mm,'2007-12-11','2008-9-10')    --返回 9


datename(日期部分,日期)  --返回表示指定日期的指定日期部分的字符串
select datename(mm,'2007-12-11')  --返回 12
select datename(dw,'2007-12-11')  --返回星期二
select datename(dd, '2007-12-11') --返回 11

datepart(日期部分,日期)  --返回表示指定日期的指定日期部分的整数
select datepart(mm,'2007-12-11')返回 12
select datepart(dw,'2007-12-11')返回 3
select datepart(dd, '2007-12-11')返回 11

day(日期)   --返回一个整数,表示指定日期的天的部分.等价于datepart(dd, 日期)
select day('2007-12-11')            --返回 11
select datepart(dd, '2007-12-11')   --返回 11

month(日期) --返回一个整数,表示指定日期的月的部分.等价于datepart(mm, 日期)
select month('2007-12-11')          --返回 12
select datepart(mm, '2007-12-11')   --返回 12

year(日期)  --返回一个整数,表示指定日期的年的部分.等价于datepart(yy, 日期)
select year('2007-12-11')          --返回2007
select datepart(yy, '2007-12-11')  --返回2007


isnull(任意表达式1,任意表达式2) --若任意表达式1的数据为空时,用任意表达式2代替
isnull(字段,'')

参考:SQL Server2008函数大全(完整版)

http://blog.csdn.net/travylee/article/details/7216481

原文地址:https://www.cnblogs.com/1184212881-Ark/p/7162704.html