字符串函数:
1.charindex(字符串表达式 1, 字符串表达式2[,整数表达式])
select charindex('ab','BCabTabD')返回 3
select charindex('ab','BCabTabD',4)返回 6,
在字符串2 中查找字符串 1,如果存在返回第一个匹配的位置,如果不存在返回0。
如果字符串 1 和字符串 2 中有一个是null 则返回 null。可以指定在字符串
2.char(整数表达式)
select char(100) 返回 d
3.left(字符串表达式,整数表达式)
select left('abcdefg',2) 返回 ab 返回字符串中从左边开始指定个数的字符
4.right(字符串表达式,整数表达式)
select right('abcdefg',2) 返回 fg 返回字符串中从右边开始指定个数的字符。
5.len(字符串表达式)
select len('abcdefg')返回 7
select len('abcdefg') 返回 7
返回指定字符串表达式的字符数,其中不包含尾随空格。
6.lower(字符串表达式)
select lower('ABCDEF')返回 abcdef
返回大写字符数据转换为小写的字符表达式。
7.upper(字符串表达式)
select upper('abcdef')返回 ABCDEF
返回小写字符数据转换为大写的字符表达式。
8.ltrim(字符串表达式)
select ltrim('abc')返回 abc
返回删除了前导空格之后的字符表达式。
9.stuff(字符串表达式 1,开始位置,长度,字符串表达式 2)
select stuff('abcdef',2,2,'123')
返回 a123def
在字符串表达式
1 中在指定的开始位置删除指定长度的字符,
并在指定的开始位置处插入字符串表达式
2。返回新字符串
10.substring(字符串表达式,开始位置,长度)
select substring('abcdef',2,2)返回bc
返回子字符串
11.replace(字符串表达式 1,字符串表达式 2,字符串表达式 3)
Select replace('abcttabchhabc','abc','123')
返回 123tt123hh123
用字符串表达式3 替换字符串表达式 1 中出现的所有字符串表达式2的匹配项。返回新的字符串
日期和时间函数
1.dateadd(日期部分,数字,日期)
select dateadd(year,45,'1990-12-11') 返回 2035-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(yy,-12,'1990-12-11') 返回 1978-12-11 00:00:00.000
2.datediff(日期部分,开始日期,结束日期) 返回两个指定日期的指定日期部分的差的整数值。
select datediff(yy,'1990-12-11','2008-9-10') 返回 18
selectdatediff(mm,'2007-12-11','2008-9-10') 返回 9
3.datename(日期部分,日期) 返回表示指定日期的指定日期部分的字符串。
select datename(mm,'2007-12-11')返回 12
select datename(dw,'2007-12-11')返回星期二
select datename(dd, '2007-12-11')返回 11
4.datepart(日期部分,日期) 返回表示指定日期的指定日期部分的整数。
wk 表示一年中的第几个星期 dy 表示一年中的第几天, dw 表示一星期中星期几,返回整数默认 1 为星期天
select datepart(mm,'2007-12-11')返回 12
select datepart(dw,'2007-12-11')返回 3
select datepart(dd, '2007-12-11')返回 11
5.getdate无参数 返回当前系统日期和时间。 select getdate()
6.缩写
缩写year年yy, yyyy quarter季qq, q month月mm, m dayofyear天(请看函数中的说明)dy, y
day天(请看函数中的说明)dd, d week星期wk, ww weekday天(请看函数中的说明)dw, w
hour小时hh minute分钟mi, n second秒ss, s millisecond毫秒ms
数学函数
1.abs(数值表达式) 返回指定数值表达式的绝对值(正值)
select abs(-23.4)返回 23.4
2.rand([整数表达式]) 返回从0 到 1 之间的随机 float 值。
整数表达式为种子,使用相同的种子产生随机数相同。即使用同一个种子值重复调用RAND() 会返回相同的结果。
不指定种子则系统会随机生成种子。
select rand(100)返回0.715436657367485
select rand()返回0.28463380767982
select rand()返回0.0131039082850364
3.round(数值表达式[,长度[,操作方式]])
返回一个数值,舍入到指定的长度。注意返回的数值和原数值
的总位数没有变化。
长度:舍入精度。如果长度为正数,则将数值舍入到长度指定的小数位数。
如果长度为负数,则将数值小数点左边部分舍入到长度指定的长度。
注意如果长度为负数并且大于小数点前的数字个数,则将返回0。
如果长度为负数并且等于小数点前的数字个数且操作方式为四舍五入时,最前面的一位小于5 返回 0,大于等于 5 导致错误出现,
如果操作方法不是四舍五入时则不会出现错误,返回结果一律为0。
操作方式:默认为 0 遵循四舍五入,指定其他整数值则直接截断。
select round(1236.555,2)返回1236.560
select round(1236.555,2,1)返回1236.550
select round(1236.555,0)返回1237.000
select round(1236.555,-1)返回1240.000
select round(1236.555,-1,1)返回1230.000
select round(1236.555,-2)返回1200.000
select round(1236.555,-3)返回1000.000
select round(1236.555,-4)返回0.000
select round(5236.555,-4)出现错误
select round(5236.555,-4,1)返回0.000
4.获取大于等于最小整数值Celling SELECT Celling(123.1) --输出124
5.获取小于等于最大整数值Floor SELECT Floor(123.9999) --输出123
6.获取指定长度和精度Round SELECT Round(123.456789,3) -- 输出 123.457000 精确到小数点后3位
7.SQUARE返回指定浮点值的平方。 SELECT Square(5) --25
8.SQRT 返回指定浮点值的平方根(开方)。 SELECT SQRT(25) --5
系统函数
1.CONVERT 用来转变数据类型 SELECT CONVERT (VARCHAR (5),12345) 返回:字符串12345
2.CURRENT_USER 返回当前用户的名字 SELECT CURRENT_USER 返回:你登录的用户名
3.HOST_NAME 返回当前用户所登录的计算机名字 SELECT HOST_NAME() 返回:你所登录的计算机的名字
4.SYSTEM_USER 返回当前所登录的用户名称 SELECT SYSTEM_USER 返回:你当前所登录的用户名