SQL Server2008函数大全(完整版)SQL2008 表达式:是常量、变量、列或函数等与运算符的任意组合。
一、字符串函数函数名称参数示例说明ascii(字符串表达式)select ascii('abc') 返回97说明:返回字符串中最左侧的字符的ASCII 码。
char(整数表达式)select char(100) 返回d说明:把ASCII 码转换为字符。
介于0 和255 之间的整数。
如果该整数表达式不在此范围内,将返回NULL 值。
charindex(字符串表达式1, 字符串表达式2[,整数表达式]) instrselect charindex('ab','BCabTabD') 返回3select charindex('ab','BCabTabD',4) 返回6说明:在字符串2 中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。
如果字符串1 和字符串2 中有一个是null 则返回null。
可以指定在字符串2 中查找的起始位置。
patindex(字符串表达式1,字符串表达式2)select patindex('%ab%','123ab456')返回4select patindex('ab%','123ab456')返回0select patindex('___ab%','123ab456')返回1select patindex('___ab_','123ab456')返回0说明:在字符串表达式1中可以使用通配符,此字符串的第一个字符和最后一个字符通常是%。
%表示任意多个字符,_表示任意字符返回字符串表达式2中字符串表达式1 所指定模式第一次出现的起始位置。
没有找到返回0。
difference(字符串表达式1,字符串表达式2)select difference('Green','Greene')返回4返回一个0 到4 的整数值,指示两个字符表达式的之间的相似程度。
0 表示几乎不同或完全不同,4 表示几乎相同或完全相同。
说明:注意相似并不代表相等left(字符串表达式,整数表达式)select left('abcdefg',2) 返回ab说明:返回字符串中从左边开始指定个数的字符。
right(字符串表达式,整数表达式)select right('abcdefg',2) 返回fg说明:返回字符串中从右边开始指定个数的字符。
len(字符串表达式)select len('abcdefg') 返回7select len('abcdefg') 返回7说明:返回指定字符串表达式的字符数,其中不包含尾随空格。
lower(字符串表达式) lcaseselect lower('ABCDEF') 返回abcdef说明:返回大写字符数据转换为小写的字符表达式。
upper(字符串表达式) ucaseselect upper('abcdef')返回ABCDEF说明:返回小写字符数据转换为大写的字符表达式。
ltrim(字符串表达式)select ltrim('abc')返回abc说明:返回删除了前导空格之后的字符表达式。
rtrim(字符串表达式)select rtrim('abc')返回abc说明:返回删除了尾随空格之后的字符表达式。
reverse(字符串表达式)select reverse('abcde')返回edcba说明:返回指定字符串反转后的新字符串space(整数表达式)select 'a'+space(2)+'b' 返回a b说明:返回由指定数目的空格组成的字符串。
str(float 型小数[,总长度[,小数点后保留的位数]])select str(123.451)返回123(123前面有空格)select str(123.451,3)返回123select str(123.451,7,3)返回123.451select str(123.451,7,1)返回123.5select str(123.451,5,3)返回123.5select str(123.651,2)返回**说明:返回由数字转换成的字符串。
返回字符数不到总长度的前面补空格,超过总长度的截断小数位。
如果需要截断整数位则返回**。
注意在截断时遵循四舍五入总长度。
它包括小数点、符号、数字以及空格。
默认值为10。
小数点后最多保留16 位。
默认不保留小数点后面的数字。
stuff(字符串表达式1,开始位置,长度,字符串表达式2)select stuff('abcdef',2,2,'123')返回a123def说明:在字符串表达式1.中在指定的开始位置删除指定长度的字符,并在指定的开始位置处插入字符串表达式2返回新字符串。
substring(字符串表达式,开始位置,长度) midselect substring('abcdef',2,2) 返回bc说明:返回子字符串replace(字符串表达式1,字符串表达式2,字符串表达式3)Select replace('abcttabchhabc','abc','123')返回123tt123hh123说明:1.用字符串表达式3 替换字符串表达式1 中出现的所有字符串表达式2 的匹配项。
返回新的字符串。
二、日期和时间函数函数名称参数示例说明dateadd(日期部分,数字,日期)select dateadd(year,45,'1990-12-11')返回2035-12-11 00:00:00.000select dateadd(month,45,'1990-12-11')返回1994-09-11 00:00:00.000select dateadd(mm,45,'1990-12-11')返回1994-09-11 00:00:00.000select dateadd(qq,12,'1990-12-11')返回1993-12-11 00:00:00.000select dateadd(hh,12,'1990-12-11')返回1990-12-11 12:00:00.000select dateadd(yy,-12,'1990-12-11')返回1978-12-11 00:00:00.000返回给指定日期加上一个时间间隔后的新的日期值。
数字:用于与指定的日期部分相加的值。
如果指定了非整数值,则将舍弃该值的小数部分,舍弃时不遵循四舍五入。
日期:指定的原日期在此函数中dw,dy,dd 效果一样都表示天datediff(日期部分,开始日期,结束日期) datedif select datediff(yy,'1990-12-11','2008-9-10')说明:返回两个指定日期的指定日期部分的差的整数值。
在计算时由结束日期减去开始日期返回18Select datediff(mm,'2007-12-11','2008-9-10')返回9在此函数中dw,dy,dd 效果一样都表示天datename(日期部分,日期)select datename(mm,'2007-12-11') 返回12select datename(dw,'2007-12-11') 返回星期二select datename(dd, '2007-12-11') 返回11说明:返回表示指定日期的指定日期部分的字符串。
dw 表示一星期中星期几,wk 表示一年中的第几个星期dy 表示一年中的第几天datepart(日期部分,日期)select datepart(mm,'2007-12-11') 返回12select datepart(dw,'2007-12-11') 返回3select datepart(dd, '2007-12-11') 返回11说明:返回表示指定日期的指定日期部分的整数。
wk 表示一年中的第几个星期dy 表示一年中的第几天,dw 表示一星期中星期几,返回整数默认1 为星期天getdate无参数dateselect getdate()返回2009-04-28 18:57:24.153说明:返回当前系统日期和时间。
day(日期)select day('2007-12-11')返回11说明:返回一个整数,表示指定日期的天的部分。
等价于datepart(dd, 日期)month(日期)select month('2007-12-11')返回12说明:返回一个整数,表示指定日期的月的部分。
等价于datepart(mm, 日期)year(日期)select year('2007-12-11')返回2007返回一个整数,表示指定日期的年的部分。
等价于datepart(yy, 日期)getutcdate无参数select getutcdate()返回2009-04-28 10:57:24.153说明:返回表示当前的UTC(世界标准时间)时间。
即格林尼治时间(GMT)。
三、日期部分(指定要返回新值的日期的组成部分。
下表列出了Microsoft SQL Server 2008 可识别的日期部分及其缩写。
)日期部分含义缩写year年yy, yyyyquarter季qq, qmonth月mm, mdayofyear天(请看函数中的说明)dy, yday天(请看函数中的说明)dd, dweek星期wk, wwweekday天(请看函数中的说明)dw, whour小时hhminute分钟mi, nsecond秒ss, smillisecond毫秒ms四、数学函数函数名称参数示例说明abs(数值表达式)select abs(-23.4)返回23.4说明:返回指定数值表达式的绝对值(正值)pi无参数select pi()返回3.14159265358979说明:返回π的值cos(浮点表达式)select cos(pi()/3)返回0.5说明:返回指定弧度的余弦值sin(浮点表达式)select sin(pi()/6)返回0.5说明:返回指定弧度的正弦值cot(浮点表达式)select cot(pi()/4)返回1说明:返回指定弧度的余切值。