sqlserver 字符串拆分
时间: 2023-11-10 13:47:58 浏览: 188
在 SQL Server 中,你可以使用一些方法来拆分字符串。以下是其中的两种常见方法:
1. 使用内置的 STRING_SPLIT 函数(适用于 SQL Server 2016 及更高版本):
```
SELECT value
FROM STRING_SPLIT('字符串', '分隔符')
```
例如:
```
SELECT value
FROM STRING_SPLIT('apple,banana,orange', ',')
```
输出:
```
value
------
apple
banana
orange
```
2. 使用自定义函数来拆分字符串(适用于较低版本的 SQL Server):
首先,你需要创建一个可以拆分字符串的函数。下面是一个示例:
```sql
CREATE FUNCTION dbo.SplitString
(@inputString NVARCHAR(MAX), @delimiter NVARCHAR(10))
RETURNS @outputTable TABLE (item NVARCHAR(MAX))
AS
BEGIN
DECLARE @start INT, @end INT
SET @start = 1
SET @end = CHARINDEX(@delimiter, @inputString)
WHILE @end > 0
BEGIN
INSERT INTO @outputTable (item)
SELECT SUBSTRING(@inputString, @start, @end - @start)
SET @start = @end + LEN(@delimiter)
SET @end = CHARINDEX(@delimiter, @inputString, @start)
END
INSERT INTO @outputTable (item)
SELECT SUBSTRING(@inputString, @start, LEN(@inputString) - @start + 1)
RETURN
END
```
然后,你可以像下面这样使用该函数:
```sql
SELECT item
FROM dbo.SplitString('apple,banana,orange', ',')
```
输出:
```
item
------
apple
banana
orange
```
这些方法可以帮助你在 SQL Server 中拆分字符串。根据你的 SQL Server 版本,选择适合你的方法。
阅读全文