CREATE FUNCTION [dbo].[fnSplit]
(
@String NVARCHAR(4000),
@Delimiter NVARCHAR(10)
)
RETURNS @ValueTable TABLE([value] NVARCHAR(128))
AS
BEGIN
DECLARE @Pos INT
DECLARE @PrevPos INT
SET @Pos = charindex(@Delimiter, @String)
SET @PrevPos = 1
WHILE (@Pos <> 0)
BEGIN
INSERT INTO @ValueTable ([Value]) VALUES (substring(@String, @PrevPos, @Pos - @PrevPos))
SET @PrevPos = @Pos + len(@Delimiter)
SET @Pos = charindex(@Delimiter, @String, @Pos + len(@Delimiter))
END
INSERT INTO @ValueTable ([Value]) VALUES (substring(@String, @PrevPos, len(@String)))
RETURN
END
GO
SQL 分割函数
最新推荐文章于 2023-01-31 14:38:32 发布