SQLserver中常见的函数
Posted 夏天里的Jasmine
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLserver中常见的函数相关的知识,希望对你有一定的参考价值。
---字符中操作函数
UPPER(S) 将字符串统一为大写字母
SELECT UPPER(‘asasA‘) --ASASA
LOWER(S) 将字符串统一为小写字母
SELECT LOWER(‘asasA‘) ---asasa
LEN(S) 返回字符串的长度
SELECT LEN(‘中国1号‘) --4
CHARINDEX(S1,S2) 返回S1在字符串S2中的位置
SELECT CHARINDEX(‘aa1号‘,‘1111aa1号中国1号‘) --5
SUBSTRING(S,I,N) 在S字符串中的第I个字符起取N个字符
SELECT SUBSTRING(‘TECHNOLO‘,3,3) --CHN
SELECT CONVERT(INT,‘111‘)
LEFT(S,N) 从字符串S左边取N个字符
RIGHT(S,N) 从字符串S右边取N个字符
SELECT RIGHT(‘00000000‘+‘11‘,8)
SELECT RIGHT(‘00000000‘+‘2222‘,8)
SELECT LEFT(‘11‘+‘00000000‘+‘11‘,8)
SELECT LEFT(‘2222‘+‘00000000‘+‘2222‘,8)
SPACE(N) 生成N个空格
SELECT ‘合计‘+SPACE(2)+‘123‘
RTRIM(S) --消除字符串左边开始或者右边开始的空格
LTRIM(S) --消除字符串左边开始或者右边开始的空格
SELECT RTRIM(‘ SAMPLE ‘)
SELECT LTRIM(‘ SAMPLE ‘)
SELECT LTRIM(RTRIM(‘ SAMPLE ‘));
REPLACE(STRING,ATOREPLACE,NEWSTRING) --替换函数
SELECT REPLACE(‘HHAAAH‘,‘A‘,‘S‘)
--二、常用函数
--数学函数
ABS(<数值表达式>) 绝对值,|x|
SELECT abs(‘-3‘) ---3
CEILING(<数值表达式>) >=自变量的最小整数
EXP(<数值表达式>) 对基E的幂,e=2.71828
FLOOR(<数值表达式>) <=自变量的最大整数
INT(<数值表达式>) 取整(舍尾)自变量
LOG(<数值表达式>) 自变量的自然对数,ln x
LOG10(<数值表达式>) 自变量的普通对数,lg x
MAX(<表达式1>,<表达式2>)两个值的最大值 SELECT MAX(3,5)
MIN(<表达式1>,<表达式2>)两个值的最小值
MOD(<数值表达式1>,<数值表达式2>)求余数
RAND([<数值表达式1>]) 返回伪随机数
ROUND(<数值表达式1>,<数值表达式2>)四舍五入第一个自变量
SIGN(<数值表达式>) 自变量的符号
SQRT(<数值表达式>) 平方根(正根)
AVG(nExpr), CNT(S),
MAX(eExpr),
MIN(eExpr),
NPV(nExpr1, nExpr2,…),
----日期
SELECT DAY(GETDATE(S)) -- 返回日期中的天
SELECT MONTH(GETDATE(S)) -- 返回日期中的月
SELECT YEAR(GETDATE(S)) -- 返回日期中的年
----
select xxaa
Case
when xxx then
when yyy then
end
SELECT DISTINCT vv, Row_Number() OVER (partition by PUR_ID ORDER BY vv desc) rank
DISTINCT
---字符中操作函数
UPPER(S) 将字符串统一为大写字母
SELECT UPPER(‘asasA‘) --ASASA
LOWER(S) 将字符串统一为小写字母
SELECT LOWER(‘asasA‘) ---asasa
LEN(S) 返回字符串的长度
SELECT LEN(‘中国1号‘) --4
CHARINDEX(S1,S2) 返回S1在字符串S2中的位置
SELECT CHARINDEX(‘aa1号‘,‘1111aa1号中国1号‘) --5
SUBSTRING(S,I,N) 在S字符串中的第I个字符起取N个字符
SELECT SUBSTRING(‘TECHNOLO‘,3,3) --CHN
SELECT CONVERT(INT,‘111‘)
LEFT(S,N) 从字符串S左边取N个字符
RIGHT(S,N) 从字符串S右边取N个字符
SELECT RIGHT(‘00000000‘+‘11‘,8)
SELECT RIGHT(‘00000000‘+‘2222‘,8)
SELECT LEFT(‘11‘+‘00000000‘+‘11‘,8)
SELECT LEFT(‘2222‘+‘00000000‘+‘2222‘,8)
SPACE(N) 生成N个空格
SELECT ‘合计‘+SPACE(2)+‘123‘
RTRIM(S) --消除字符串左边开始或者右边开始的空格
LTRIM(S) --消除字符串左边开始或者右边开始的空格
SELECT RTRIM(‘ SAMPLE ‘)
SELECT LTRIM(‘ SAMPLE ‘)
SELECT LTRIM(RTRIM(‘ SAMPLE ‘));
REPLACE(STRING,ATOREPLACE,NEWSTRING) --替换函数
SELECT REPLACE(‘HHAAAH‘,‘A‘,‘S‘)
--二、常用函数
--数学函数
ABS(<数值表达式>) 绝对值,|x|
SELECT abs(‘-3‘) ---3
CEILING(<数值表达式>) >=自变量的最小整数
EXP(<数值表达式>) 对基E的幂,e=2.71828
FLOOR(<数值表达式>) <=自变量的最大整数
INT(<数值表达式>) 取整(舍尾)自变量
LOG(<数值表达式>) 自变量的自然对数,ln x
LOG10(<数值表达式>) 自变量的普通对数,lg x
MAX(<表达式1>,<表达式2>)两个值的最大值 SELECT MAX(3,5)
MIN(<表达式1>,<表达式2>)两个值的最小值
MOD(<数值表达式1>,<数值表达式2>)求余数
RAND([<数值表达式1>]) 返回伪随机数
ROUND(<数值表达式1>,<数值表达式2>)四舍五入第一个自变量
SIGN(<数值表达式>) 自变量的符号
SQRT(<数值表达式>) 平方根(正根)
AVG(nExpr), CNT(S),
MAX(eExpr),
MIN(eExpr),
NPV(nExpr1, nExpr2,…),
----日期
SELECT DAY(GETDATE(S)) -- 返回日期中的天
SELECT MONTH(GETDATE(S)) -- 返回日期中的月
SELECT YEAR(GETDATE(S)) -- 返回日期中的年
----
select xxaa
Case
when xxx then
when yyy then
end
SELECT DISTINCT vv, Row_Number() OVER (partition by PUR_ID ORDER BY vv desc) rank
DISTINCT
SQLServer中通配符%和_的使用
--以a开头的数据
SELECT * FROM BCUSTOMER_MZN WHERE CST_NAME LIKE ‘A%‘
--以Z结尾的数据
SELECT * FROM BCUSTOMER_MZN WHERE CST_NAME LIKE ‘%Z‘
--含有B的数据
SELECT * FROM BCUSTOMER_MZN WHERE CST_NAME LIKE ‘%B%‘
--不含有B的数据
SELECT * FROM BCUSTOMER_MZN WHERE CST_NAME not LIKE ‘%B%‘
--三位且中间字母是a的
SELECT * FROM BCUSTOMER_MZN WHERE CST_NAME LIKE ‘_a_‘
--两位且结尾字母是a的
SELECT * FROM BCUSTOMER_MZN WHERE CST_NAME LIKE ‘_a‘
--两位且开头字母是a的
SELECT * FROM BCUSTOMER_MZN WHERE CST_NAME LIKE ‘a_‘
以上是关于SQLserver中常见的函数的主要内容,如果未能解决你的问题,请参考以下文章