SQLServer 2005 常用的函数
字符串函数:
● ASCII('a')=97---返回字母a对应的ASCII码
● CHAR('48')=0---返回48这个ASCII码对应的字符
● LCASE('ABcdE')="abced" 或 LOWER('ABcdE')="abced"(将给定字符串转为小写)
● UCASE('ABcdE')="ABCDE" 或 UPPER('ABcdE')="ABCDE"(将给定字符串转为大写)
● LTRIM(' fgf gh ')="fgf gh "(去掉给定字符串左边的空格)
● RTRIM(' fgf gh ')=" fgf gh"(去掉给定字符串右边的空格)
● LEN('sde123-TRE')=10(返回给定字符串的长度)
● LEFT('sde123-TRE',5)="sde12"(从给定字符串左边开始,取指定长度的字符)
● RIGHT('sde123-TRE',4)="-TRE"(从给定字符串右边开始,取指定长度的字符)
● SUBSTRING('sde123-TRE',3,6)="e123-T"(从给定字符串的指定位置开始,取指定长度的字符)
● CHARINDEX('23-','sde123-TRE')=5(返回第一个字符串在第二个字符串中出现的首位置,如果未出现则返回0)
(注意:CHARINDEX('23T','sde123-TRE')=0)
(注意:CHARINDEX('TRE','DFTRE345TREDGS')=3而CHARINDEX('TRE','DFTRE345TREDGS',4)=9,因为第三个参数未写则查找从第一个字符开始;否则从第三个参数指定的位置开始查找;第二个例子是从第4位开始查找,找到的第一个"TRE"位于第9位)
● REVERSE('SDF463')="364FDS"(将给定字符串反转)
● REPLACE('abcdefghicde','cde','xx')="abxxfghixx"(用第三个字符串替换第一个字符串中的所有第二个字符串)
● STR(123.457,5,2)="123.46"(将数字转为字符串,第一个参数是要转换的数字,第二个参数是转换后的字符串的最大长度,第三个参数指定保留几位小数,请注意,这种转换是四舍五入的)
(注意:STR(123.457,2,2)="**"------因为5小于123.457的长度)
● STUFF('I AM NIMMY,WEI COME!',6,5,'RWM')="I AM RWM,WEI COME!"(将给定字符串中的某一部分删除并插入指定的字符串,第一个参数是待操作的字符串;第二个参数是要删除部分的起始位置;第三个参数是要删除部分的长度;第四个参数是要插入的字符串)
(注意它和REPLACE的区别:STUFF('ERTY23TY',3,2,'K')='ERK23TY"而REPLACE('ERTY23TY','TY','K')="ERK23K")
● REPLICATE('ab',6)="abababababab"(返回指定数量的指定字符串)
● SPACE(6)=" "(返回指定数量的空格)
***********************************************************
日期函数
● DATEPART() 返回给定日期的指定部分
DATEPART(yy,'2003-12-27')=2003-------year/yyyy
同义函数:year('2003-12-27')=2003
DATEPART(mm,'2003-12-27')=12----month/m
同义函数:month('2003-12-27')=12
DATEPART(dd,'2003-12-27')=27----day/d
同义函数:day('2003-12-27')=27
DATEPART(dw,'2003-12-27')=7-----weekday(该日是一周的第七天,即星期六)
DATEPART(hh,'13:55:34')=13------hour
DATEPART(mi,'13:55:34')=55------minute/n
DATEPART(ss,'13:55:34')=34------second/s
● DATEADD(mm,2,'2003-12-27')="2003-2-27"(返回给定日期之后或之前的日期,第一个参数是递增的刻度,可以是年月日时分秒<见上>,第二个参数是递增数目,第三个参数是给定日期)
● DATEDIFF(dd,'2003-12-23','2003-12-27')=4(返回两个给定日期之差,第一个参数指明差别的刻度,可以是年月日时分秒<见上>,第二个参数是开始日期,第二参数是结束日期)
● DATENAME(dw,'2003-12-27')="星期六"(返回给定日期的指定名称,第一个参数指明要返回的名称类型,可以是年月日星期时分秒<见上>,第二个参数是给定日期)
***************************************************************
数学函数
● ABS(-2)=2 返回一个数字的绝对值
● 返回大于等于参数的最小整数
CEILING(1.2)=2/CEILING(1.7)=2/CEILING(2)=2
CEILING(-1.2)=-1/CEILING(-1.7)=-1/CEILING(-1)=-1
● 返回小于等于参数的最大整数
FLOOR(1.2)=1/FLOOR(1.7)=1/FLOOR(1)=1
FLOOR(-1.2)=-2/FLOOR(-1.7)=-2/FLOOR(-2)=-2
● 返回四舍五入的指定位数的小数
ROUND(1.2,0)=1/ROUND(1.7,0)=2/ROUND(2,0)=2
ROUND(-1.2,0)=-1/ROUND(-1.7,0)=-2/ROUND(-2,0)=-2
ROUND(1.3536,2)=1.35/ROUND(1.3536,3)=1.354
● SQUARE(9)=81/ 返回参数的平方
● SQRT(9)=3/ 返回参数的平方根
● SIGN(0.01)=1/SIGN(1000)=1/SIGN(0)=0/SIGN(-0.3)=-1/SIGN(-10000)=-1
判断参数是正数,负数还是0