SQL Server中实现子串截取的技巧(sqlserver 子串)

Substring截取是常用技巧之一,可以方便的从一段字符串中选取部分或者全部字符作为新的字符串。在SQL Server中提供了多种方式来实现Substring截取,本文将介绍几种常用的技巧。

首先,SUBSTRING函数可以用来从指定字符串中截取指定长度的子串,语法如下:

SUBSTRING(input_string,start_position,pattern_length)

该函数的参数:input_string – 输入字符串,start_position – 开始位置,pattern_length – 截取长度(可选)。下面是一个具体的例子:

SELECT SUBSTRING(‘SQL Server’, 0, 5)

结果为:SQL S

其次,CHARINDEX函数可以从一段字符串中查询指定字符或者字符串首次出现的位置,该函数可以和LEFT函数结合以实现子串截取,语法如下:

LEFT(input_string,CHARINDEX(patterns,input_string)-1)

其中,patterns – 指定字符或字符串,input_string – 输入字符串。下面是一个示例:

SELECT LEFT(‘SQL Server’,CHARINDEX(‘@’,’SQL Server’)-1)

结果为:SQL

再次,可以使用分割函数对字符串进行分割,然后取其中的一段,常用的分割函数有:

PARSENAME:用于从一段带有点号或分号的路径上分割文件名,例如:C:\windows\SQL\SQL2019\sqlserver.exe

STRING_SPLIT:用于从指定字符串中拆分出指定个数的子字符串,例如:SQL Server,MySQL,Oracle

下面是一个使用PARSENAME截取字符串的例子:

SELECT PARSENAME(‘C:\windows\SQL\SQL2019\sqlserver.exe’,3)

结果为:sqlserver

最后,如果要截取最后一段字符串,可以使用REVERSE函数,该函数用于反转字符串,并且有自带的LEN函数用于取字符串的长度,然后使用SUBSTRING函数获取子串,下面是一个例子:

SELECT SUBSTRING(REVERSE(‘SQL Server’), 0, 5)

结果为:rev

总之,SQL Server提供了多种实现子串截取的技巧。通过不同的技巧,可以根据需求自行组合或者选择出最合适实现子串技巧的方法。


数据运维技术 » SQL Server中实现子串截取的技巧(sqlserver 子串)