一直比较抗拒写存储过程,但工作中又要使用。所以,没办法,还是得慢慢写。
看到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')