SQL字符串处理函数 Yang

一直比较抗拒写存储过程,但工作中又要使用。所以,没办法,还是得慢慢写。

看到SQL2005中列出了一些字符串处理函数,大多都比较简单,一看就知道是什么意思,怎么用。但还是有些比较少用,所以,测试了一下,在这里面记录一下以供以后查看。

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
--ASCII:将字母转换成数字 
--97 
SELECT ASCII('a') 
--214 
SELECT ASCII('') 
--UNICODE:将汉字或字母转换成unicode编码,一次只能转换一个 
--97 
SELECT UNICODE('a') 
--20013 
SELECT UNICODE('')


--CHAR:将数字转换成字母 
--A 
SELECT CHAR(65) 
--Nchar:数字转换成字符,占两个字节? 
--A 
SELECT NCHAR(65)


--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
--CHARINDEX:查询e在course中第一次出现的位置,course中从1开始计算的 
--6 
SELECT CHARINDEX('e','courseabcdsdfe',1) 
--PATINDEX:查找指定字符串在另一个字符串中出现的位置,从1开始计数,可以用通配符 
--10 
SELECT PATINDEX('%abc%','123456789abccbaxxxx')

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


--DIFFERENCE:比较两个字符串是否相同,返回值:0~4完全不同~基本相同或完全相同 
--0 
SELECT DIFFERENCE('abcd','1243') 
--1 
SELECT DIFFERENCE('abcd','eeeee') 
--2 
SELECT DIFFERENCE('abcd','aeeee') 
--3 
SELECT DIFFERENCE('abcd','abee') 
--4 
SELECT DIFFERENCE('abcd','abcd') 
--4 
SELECT DIFFERENCE('abcd','abcd123')


--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--LEFT:从左边取3位 
--abc 
SELECT LEFT('abcdefg',3) 
--RIGHT:从右边取3位 
--efg 
SELECT RIGHT('abcdefg',3) 
--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--LOWER:大写变小写 
--abcdefg 
SELECT LOWER('ABCDEFG') 
--UPPER:小写变大小 
--ABCDEFG 
SELECT UPPER('abcdefg')


--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
--LTRIM:去掉左边的空格 
--ABC 
SELECT LTRIM('    ABC') 
--RTRIM:去掉右边的空格 
--ABC 
SELECT RTRIM('ABC            ') 
--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--QUOTENAME:为一个字符串加[](默认)或加'' 
--abcafwesdfs 
SELECT QUOTENAME('abcafwesdfs') 
--'abcafwesdfs' 
SELECT QUOTENAME('abcafwesdfs','''')

--REPLACE:将一个字符串中的指定字符替换为另外的字符 
--abcABCdfasdfds 
SELECT REPLACE('abc123dfasdfds','123','ABC')

--REPLICATE:将前面的字符串重复几遍 
--abcabc 
SELECT REPLICATE('abc',2)

--REVERSE:字符反转 
--gfedcba 
SELECT REVERSE('abcdefg')

SELECT SOUNDEX ('');

--SPACE:空N个空格 
--返回:yang     change 
SELECT 'yang'+SPACE(5)+'change'

--STR:浮点数,一共取多少位,小数位多少位 
--返回类型char:34563.2,四舍五入 
SELECT STR(34563.151592653,7,2)

--返回varchar,nvarchar,varbinary 
SELECT STUFF('01234AAdsfsad',6,2,'_')

--STUFF:从第N个字符开始的K个字符,替换成另外的字符J 
--返回varchar,nvarchar,varbinary 
SELECT STUFF('中华人民共和国AA中华人民共和国',8,2,'_')

--SUBSTRING:从第几个字符,截取几个字符 
SELECT SUBSTRING('ABCD123EFG',5,3)

--LEN:测量字符串长度 
--7 
SELECT LEN('abcdefg')
原文地址:https://www.cnblogs.com/Yang2012/p/SQL.html