加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer 2005 常用的函数

发布时间:2020-12-12 15:29:16 所属栏目:MsSql教程 来源:网络整理
导读:字符串函数: ● ASCII('a')=97---返回字母a对应的ASCII码 ● CHAR('48')=0---返回48这个ASCII码对应的字符 ● LCASE('ABcdE')="abced" 或 LOWER('ABcdE')="abced"(将给定字符串转为小写) ● UCASE('ABcdE')="ABCDE" 或 UPPER('ABcdE')="ABCDE"(将给定字

字符串函数:
● 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,'RWM')="I AM RWM,WEI COME!"(将给定字符串中的某一部分删除并插入指定的字符串,第一个参数是待操作的字符串;第二个参数是要删除部分的起始位置;第三个参数是要删除部分的长度;第四个参数是要插入的字符串)
????? (注意它和REPLACE的区别:STUFF('ERTY23TY','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,'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??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读