当前位置: 代码迷 >> SQL >> SQLSERVER常见系统函数之字符串函数(1)
  详细解决方案

SQLSERVER常见系统函数之字符串函数(1)

热度:227   发布时间:2016-05-05 09:38:07.0
SQLSERVER常见系统函数之字符串函数(一)

好久没有写博客了,这段时间准备写一下字符串函数

QQ群: 499092562;欢迎交流

字符串函数:

1、LEN(需要获取长度的字符串)  

返回:字符串的长度

示例:

SELECT LEN('小搬运工很帅!')

2、RIGHT(需要被从右边截取的字符串,截取的开始下标,截取的长度)

返回:右边的字符串

示例:

SELECT RIGHT('小搬运工',2,2)

‘小搬运工’从右边数第二个下标开始,长度为二的字符串

3、CHARINDEX(父字符串,需要查找位置的子字符串,从哪个位置开始找)

示例:SELECT CHARINDEX('小搬运工','工',1)

从第一个位置查找‘小搬运工’中的‘工’字在哪个位置

4、LTRIM(需要被清空的字符串);

返回:被清空左边空格的字符串

示例:

SELECT LTRIM(' 小搬运工')

5、RTRIM(需要被清空右边的字符串)

返回:被清空右边空格的字符串

6、STUFF(字符串,开始下标,截取长度,插入的字符串)

在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串;

示例

SELECT STUFF('ABCDEFG', 2, 3, '小搬运工')

返回:A小搬运工EFG

7、REPLACE(指定字符串,需要被替换的字符串,替换为的字符串)

返回新字符串

示例:

SELECT REPLACE('小搬运工','小','大')
返回:大搬运工

8、

UPPER(需要转换为大写的字符串)

把传递给它的字符串转换为大写

SELECT UPPER('sql server课程')

返回:SQL SERVER课程

9、SUBSTRING(字符串,起始下标,长度)

提取字符串

示例

SELECT SUBSTRING('小搬运工',2,3)

返回:搬运工

10、返回字符串值的逆向值
REVERSE(需要逆向取值的字符串)

示例:

SELECT REVERSE('小搬运工')

返回 工运搬小

11、以指定的次数重复字符串值
REPLICATE(需要重复的字符串 ,重复次数)

示例:

SELECT REPLICATE('小搬运工',3)

返回 小搬运工小搬运工小搬运工

12、返回输入表达式的第一个字符的整数值

UNICODE( 需要返回第一个字符整数值的字符串 )

' 需要返回第一个字符整数值的字符串 ' 为 nchar 或 nvarchar 表达式。

示例:

SELECT UNICODE('小')

返回:23567
SELECT UNICODE('小搬运工')

返回:23567

13、

发音匹配度
SOUNDEX()用于计算一个字符串的发音特征性,

返回一个四个字符的字符串,

并且返回值的第一个字符总是初始字符串中的第一个字符,

而后是一个三位数的数字。

SELECT stuName,SOUNDEX(stuName) FROM Stu_Info 

结果为:

Q Q000
Q Q000
W 0000
E E000
R R000
T T000
Y 0000
U U000
II I500
777 0000
78 0000
H H000
H H000
B B000

 

发音特征值的含义非常复杂,如果要根据两个发音特征值来分析两个字符串的发音相似度则使用过SOUNDEX()很难办到。
那么DIFFERENCE()是一个不错的选择,它可以计算两个字符串的发音特征值,并对它们进行对比,模拟相似度
然后返回一个0至4的值来反映两个字符串的发音相似度,这个值越大则表示两个字符串的发音相似度越高。

SELECT stuInfoq,SOUNDEX(stuName),DIFFERENCE(stuName,'H') FROM Stu_Info
 
结果为:

Q Q000 3
Q Q000 3
W 0000 3
E E000 3
R R000 3
T T000 3
Y 0000 3
U U000 3
II I500 2
777 0000 3
78 0000 3
H H000 4
H H000 4
B B000 3

   下次再补充,嘿嘿

 

 
  相关解决方案