SQLserver中常见的函数

---字符中操作函数UPPER(S) 将字符串统一为大写字母 SELECT UPPER(‘asasA‘) --ASASALOWER(S) 将字符串统一为小写字母 SELECT LOWER(‘asasA‘) ---asasaLEN(S) 返回字符串的长度 SELECT LEN(‘中国1号‘) --4CHARINDEX(S1,S2) 返回S1在字符串S2中的位置 SELECT CHARINDEX(‘aa1号‘,‘1111aa1号中国1号‘) --5SUBSTRING(S,I,N) 在S字符串中的第I个字符起取N个字符 SELECT SUBSTRING(‘TECHNOLO‘,3,3) --CHNSELECT 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‘) ---3CEILING(<数值表达式>) >=自变量的最小整数EXP(<数值表达式>) 对基E的幂,e=2.71828FLOOR(<数值表达式>) <=自变量的最大整数INT(<数值表达式>) 取整(舍尾)自变量LOG(<数值表达式>) 自变量的自然对数,ln xLOG10(<数值表达式>) 自变量的普通对数,lg xMAX(<表达式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 xxaaCase when xxx thenwhen yyy thenendSELECT 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_‘
  

 

相关文章