用sqlserver编写分割函数
时间: 2023-11-27 20:54:19 浏览: 94
下面是一个使用 SQL Server 编写的示例分割函数:
```
CREATE FUNCTION dbo.SplitString
(
@string NVARCHAR(MAX),
@delimiter CHAR(1)
)
RETURNS @output TABLE (
part NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @start INT, @end INT
SELECT @start = 1, @end = CHARINDEX(@delimiter, @string)
WHILE @start <= LEN(@string) + 1
BEGIN
IF @end = 0
SET @end = LEN(@string) + 1
INSERT INTO @output (part)
VALUES(SUBSTRING(@string, @start, @end - @start))
SET @start = @end + 1
SET @end = CHARINDEX(@delimiter, @string, @start)
END
RETURN
END
```
这个函数接受两个参数:要分割的字符串和分隔符。它将字符串分割成多个部分,并将每个部分插入到一个表变量中。在函数结束时,它返回该表变量。
要使用此函数,请执行以下语句:
```
SELECT * FROM dbo.SplitString('1,2,3,4,5', ',')
```
此语句将返回包含以下值的表:
```
part
----
1
2
3
4
5
```
阅读全文