sqlserver分割逗号字符串函数
时间: 2023-09-07 13:04:13 浏览: 133
SQL server中字符串逗号分隔函数分享
5星 · 资源好评率100%
在SQL Server中,可以使用自定义函数来分割逗号分隔的字符串。下面是一个示例函数的实现:
```
CREATE FUNCTION dbo.SplitString ( @String VARCHAR(MAX) )
RETURNS @Result TABLE ( Value VARCHAR(MAX) )
AS
BEGIN
DECLARE @Value VARCHAR(MAX)
WHILE CHARINDEX(',', @String) > 0
BEGIN
SET @Value = SUBSTRING(@String, 1, CHARINDEX(',', @String) - 1)
SET @String = SUBSTRING(@String, CHARINDEX(',', @String) + 1, LEN(@String))
INSERT INTO @Result (Value) VALUES (@Value)
END
IF LEN(@String) > 0
BEGIN
INSERT INTO @Result (Value) VALUES (@String)
END
RETURN
END
```
以上函数名为SplitString,接受一个逗号分隔的字符串作为参数,返回一个表变量(Result),其中包含分割后的各个部分。函数使用了一个循环来进行分割,每次循环找到第一个逗号的位置,并通过SUBSTRING函数将字符串分为两部分,将第一部分插入到Result表中。当字符串中不再存在逗号时,将剩下的部分作为参数插入到Result表中。最后,返回Result表。
使用该函数的示例:
```
DECLARE @String VARCHAR(MAX)
SET @String = 'apple,banana,orange'
SELECT * FROM dbo.SplitString(@String)
```
以上代码将输出Result表的内容,即分割后的各个部分:
```
Value
-----
apple
banana
orange
```
通过这样的函数可以方便地将逗号分隔的字符串拆分为多个部分,在SQL Server中进行处理和分析。
阅读全文