关于数据库的一些函数的使用

一:字符串函数
CharIndex('str1','str2',index)      从index开始查询str1在str2中的开始位置
         注意点:如果在str2中没有找到str1,那么返回0

例:select charindex('好好学','S1是S2的基础,所以大家好好学',1)


len():  获取小括号中字符串的长度,空格也算一个字符长度

注意点:如果内容以多个空格结尾,那么结尾的多个空格,是不计算长度的
 如果空格在字符前面,则需要计算长度
    
例:select len('大家都是好孩子')


upper():   将括号中出现的英文全部转换成大写

例:select upper('i can speak english.你能吗?')


LTrim():   清除括号中内容左边的空格(left:right)

例:select rtrim('         生活不是林黛玉,      ')


RTrim():  清除括号中内容右边的空格

例:select rtrim('         生活不是林黛玉,      ')


substring('字符串',截取的位置,截取的长度)   截取指定字符串的长度

例:select substring('我是中国人,我爱自己伟大的祖国,真的',6,1)


right():   从字符串右边返回指定类型的字符

例:select right('大家今天好像都没有交日记本,我去',3)


left():   从字符串右边返回指定类型的字符

例:select left('大家今天好像都没有交日记本,我去',3)


replace('str1','要替换的字符','目标字符')

例:select replace('王吉达,残疾人,虽然手不残疾,但是X残疾','残疾','好')


stuff('字符串',删除的起始位置,删除的长度,'插入的字符串')

例:select stuff('我爱你中国,我爱你故乡',4,2,'北京欢迎你')


二:日期函数

getdate():  获取当前日期和时间

例:select getdate()


dateadd(按年/月/日添加,增量,时间)

例: select dateadd(yy,100,'2014-8-6')
    select dateadd(year,-20,getdate())


datediff(按年/月/日求差,小时间,大时间)

例:select datediff(year,'1998-01-01',getdate())


datename:获取某个日期是星期几 (返回的是字符串)

例:select datename(dw,'2014-08-06')

datepart(mm,日期):   获取指定日期对应的年/月/日部分 (返回数值型)

例:select datepart(yy,getdate())


三:数学函数
rand():   产生一个到之间的随机数

例:select right(rand(),4)

abs:  取绝对值

例:select abs(-10)

ceiling():  天花板,你要看天花板,抬头,向上取整

例:select ceiling(1.999991)

floor:    向下取整

例:select floor(1.999999)


power()  求幂值

例:select power(4,4) - -4的4次方


round:   将一个数字四舍五入到指定精度

例:select round(42.564,1)


sign:   如果括号中写的是一个正数,返回1,如果是负数,返回-1

例:select sign(20)
   select sign(-20)


sqrt()   开平方

例:select sqrt(9)

原文地址:https://www.cnblogs.com/liujiayun/p/4936320.html