T-SQL - 字符串函数



MS SQL Server 字符串函数可以应用于字符串值,或者返回字符串值或数字数据。

以下是带示例的字符串函数列表。

ASCII()

字符表达式的 ASCII 码值将作为输出。

示例

以下查询将给出给定字符的 ASCII 码值。

Select ASCII ('word') 

CHAR()

给定 ASCII 码或整数的字符将作为输出。

示例

以下查询将给出给定整数的字符。

Select CHAR(97)

NCHAR()

给定整数的 Unicode 字符将作为输出。

示例

以下查询将给出给定整数的 Unicode 字符。

Select NCHAR(300)

CHARINDEX()

给定字符串表达式中给定搜索表达式的起始位置将作为输出。

示例

以下查询将给出给定字符串表达式“KING”中“G”字符的起始位置。

Select CHARINDEX('G', 'KING')

LEFT()

给定字符串的左侧部分(直到指定字符数)将作为输出。

示例

以下查询将给出给定字符串“WORLD”中指定 4 个字符的“WORL”字符串。

Select LEFT('WORLD', 4)

RIGHT()

给定字符串的右侧部分(直到指定字符数)将作为输出。

示例

以下查询将给出给定字符串“INDIA”中指定 3 个字符的“DIA”字符串。

Select RIGHT('INDIA', 3)

SUBSTRING()

基于起始位置值和长度值的字符串部分将作为给定字符串的输出。

示例

以下查询将分别给出“WOR”、“DIA”、“ING”字符串,因为我们分别为给定字符串“WORLD”、“INDIA”和“KING”指定了 (1,3)、(3,3) 和 (2,3) 作为起始和长度值。

Select SUBSTRING ('WORLD', 1,3) 
Select SUBSTRING ('INDIA', 3,3) 
Select SUBSTRING ('KING', 2,3)

LEN()

给定字符串表达式的字符数将作为输出。

示例

以下查询将给出字符串表达式“HELLO”的 5。

Select LEN('HELLO') 

LOWER()

给定字符串数据的英文小写字符串将作为输出。

示例

以下查询将给出字符数据“SQLServer”的“sqlserver”。

Select LOWER('SQLServer') 

UPPER()

给定字符串数据的英文大写字符串将作为输出。

示例

以下查询将给出字符数据“SqlServer”的“SQLSERVER”。

Select UPPER('SqlServer')

LTRIM()

删除前导空格后,给定字符串数据的字符串表达式将作为输出。

示例

以下查询将给出字符数据“   WORLD”的“WORLD”。

Select LTRIM('   WORLD')

RTRIM()

删除尾随空格后,给定字符串数据的字符串表达式将作为输出。

示例

以下查询将给出字符数据“INDIA   ”的“INDIA”。

Select RTRIM('INDIA   ') 

REPLACE()

替换所有指定的字符后,给定字符串数据的字符串表达式将作为输出。

示例

以下查询将给出字符串数据“INDIA”的“KNDKA”字符串。

Select REPLACE('INDIA', 'I', 'K')

REPLICATE()

重复字符串表达式将作为给定字符串数据(指定次数)的输出。

示例

以下查询将给出字符串数据“WORLD”的“WORLDWORLD”字符串。

Select REPLICATE('WORLD', 2)

REVERSE()

反转字符串表达式将作为给定字符串数据的输出。

示例

以下查询将给出字符串数据“WORLD”的“DLROW”字符串。

Select REVERSE('WORLD')

SOUNDEX()

返回四字符(SOUNDEX)代码以评估两个给定字符串的相似性。

示例

以下查询将给出“Smith”、“Smyth”字符串的“S530”。

Select SOUNDEX('Smith'), SOUNDEX('Smyth')

DIFFERENCE()

整数将作为给定两个表达式的输出。

示例

以下查询将给出“Smith”、“Smyth”表达式的 4。

Select Difference('Smith','Smyth') 

注意 - 如果输出值为 0,则表示给定两个表达式之间相似性较弱或没有相似性。

SPACE()

字符串将作为指定空格数的输出。

示例

以下查询将给出“I LOVE INDIA”。

Select 'I'+space(1)+'LOVE'+space(1)+'INDIA'

STUFF()

替换从起始字符到指定长度的指定字符后,给定字符串数据的字符串表达式将作为输出。

示例

以下查询将给出字符串数据“ABCDEFGH”的“AIJKFGH”字符串,根据给定的起始字符和长度分别为 2 和 4,以及“IJK”作为指定的目标字符串。

Select STUFF('ABCDEFGH', 2,4,'IJK') 

STR()

字符数据将作为给定数字数据的输出。

示例

以下查询将给出基于指定的长度为 6 和小数为 2 的给定 187.369 的 187.37。

Select STR(187.369,6,2) 

UNICODE()

整数将作为给定表达式第一个字符的输出。

示例

以下查询将给出表达式“RAMA”的 82。

Select UNICODE('RAMA') 

QUOTENAME()

给定的字符串将作为指定分隔符的输出。

示例

以下查询将给出“RAMA”的“RAMA”,因为我们指定了双引号作为分隔符。

Select QUOTENAME('RAMA','"') 

PATINDEX()

给定表达式中第一个出现的起始位置,因为我们指定了需要“I”的位置。

示例

以下查询将给出“INDIA”的 1。

Select PATINDEX('I%','INDIA') 

FORMAT()

给定的表达式将作为指定格式的输出。

示例

以下查询将给出 getdate 函数的“ Monday, November 16, 2015”,根据指定的格式,“D”指的是星期几的名称。

SELECT FORMAT ( getdate(), 'D') 

CONCAT()

连接给定参数值后,单个字符串将作为输出。

示例

以下查询将给出给定参数的“A,B,C”。

Select CONCAT('A',',','B',',','C') 
广告