sqlserver常用函数总结,代码可复制到sqlserver管理工具,新建查询,F5运行,查看结果:
1、数学函数
ceiling(n):返回不小于n的最小整数
floor(n):返回不大于n的最大整数
round(m,n):四舍五入,n为小数的位数
DECLARE @value float(10)
SET @value = .1234567890
SELECT ROUND(@value, 1) -- 0.1
SELECT ROUND(@value, 2) -- 0.12
SELECT ROUND(@value, 3) -- 0.123
SELECT ROUND(@value, 4) -- 0.1235
SELECT ROUND(@value, 5) -- 0.12346
SELECT ROUND(@value, 6) -- 0.123457
SELECT ROUND(@value, 7) -- 0.1234568
SELECT ROUND(@value, 8) -- 0.12345679
SELECT ROUND(@value, 9) -- 0.123456791
SELECT ROUND(@value, 10) -- 0.123456791
SELECT CEILING(@value) -- 1
SELECT FLOOR(@value) -- 0
rand:随机生成[0,1]之间的float类型值
-- 1,不带参数的RAND(),每次产生不同的随机数
-- 2,带一个整数参数X,RAND(X)每次产生相同的随机数
-- 3,日常运用中会要求你随机生成1-100之间的整数
select
RAND(10), -- 0.713759689954247
RAND(10), -- 0.713759689954247
RAND() -- 0.182458908613686
sign(expr):当expr为整数、0、负数时分别返回1、0、-1
SELECT SIGN(-128); -- -1
SELECT SIGN(0); -- 0
SELECT SIGN(129); -- 1
sqrt(expr):返回expr的平方根
select SQRT(16); -- 4
abs(expr):返回expr的绝对值
SELECT ABS(1.0), -- 1.0
ABS(0.0), -- 0.0
ABS(-1.0) -- 1.0
power(expr,n):返回expr的n次方的值
SELECT POWER(2,2), --4
POWER(3,3), --27
POWER(4,4) --256
2、字符串函数
字符串函数在处理字符串和类型转换中都起着非常重要的作用。
1) 字符串转换函数
a、ASCII(expr):返回expr的最左端的字符的ascii码值,如果expr是纯数字,如1234,则可以写成ascii(1234),但如果不是纯数字,如a1234,则必须加引号,如ascii(‘a1234’);
select ASCII(1234), -- 49
ASCII('a1234') -- 97
b、LOWER(expr):将expr全部转换为小写
select LOWER('ABCD'), -- abcd
LOWER('abCD') -- abcd
c、UPPER(expr):将expr全部转换为大写
select UPPER('abcd'), -- ABCD
UPPER('abCD') -- ABCD
3、去空格函数
1)LTRIM():去左空格
2)RTRIM():去有空格
declare @test_var1 varchar(60),@test_var2 varchar(60),@test_var3 varchar(60)
set @test_var1=' ni hao '
set @test_var2=ltrim(@test_var1)
set @test_var3=rtrim(@test_var1)
print '---'+@test_var2+'---'
print '---'+@test_var3+'---'
4、取子串函数
1)LEFT(expr,length):取字符串expr左边length个字符
2)RIGHT(expr,length):取字符串expr右边length个字符
select LEFT('abcde', 2), -- ab
RIGHT('abcde', 2) -- de
3)SUBSTRING(expr,start,length):取字符串从第start个字符开始的length个字符, 从1开始计算下标
select SUBSTRING('abcde', 2, 2) -- bc
4)CHARINDEX ( expression1 , expression2 [ , start_location ] ) :用来在一段字符中搜索字符或者字符串,返回字符串中指定表达式的起始位置
select CHARINDEX('a', 'abcdabcd'), -- 1
CHARINDEX('e', 'abcdabcd') -- 0
参考:
https://blog.csdn.net/qgfjeahn/article/details/52369603