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' 字符串 (1,3)、(3,3) 和 (2,3),分别作为给定字符串 'WORLD'、'INDIA' 和 'KING' 的起始值和长度值。

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,则表示给定 2 个表达式之间的相似性较弱或没有相似性。


SPACE()

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

示例

下面的查询将给出"I LOVE INDIA"。

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

STUFF()

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

示例

以下查询将根据给定的起始字符和长度分别为 2 和 4 为"ABCDEFGH"字符串数据提供输出"AIJKFGH"字符串,并将"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 函数提供输出"2015 年 11 月 16 日星期一",其中"D"指工作日名称。

SELECT FORMAT ( getdate(), 'D') 

CONCAT()

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

示例

以下查询将为给定参数提供输出"A,B,C"。

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