CREATE FUNCTION [dbo].[fn_public_Split]
(
@InputSplit NVARCHAR(4000),
@Separator CHAR(1) = ','
)
RETURNS @InputSplitstable TABLE
(
[SplitItem] NVARCHAR(200)
)
AS
BEGIN
DECLARE @CurrentIndex INT
DECLARE @NextIndex INT
DECLARE @ReturnText NVARCHAR(200)
SELECT @CurrentIndex=1
WHILE(@CurrentIndex<=datalength(@InputSplit)/2)
BEGIN
SELECT @NextIndex=charindex(@Separator,@InputSplit,@CurrentIndex)
IF(@NextIndex=0 OR @NextIndex IS NULL)
SELECT @NextIndex=datalength(@InputSplit)/2+1
SELECT @ReturnText=substring(@InputSplit,@CurrentIndex,@NextIndex-@CurrentIndex)
INSERT INTO @InputSplitstable([SplitItem])
VALUES(@ReturnText)
SELECT @CurrentIndex=@NextIndex+1
END
RETURN
END
GO
SELECT * FROM dbo.[fn_public_Split]('1,2,3,4,5,6', ',')
GO
DROP FUNCTION [fn_public_Split]
SQL Server 字符分割
最新推荐文章于 2024-02-08 16:52:26 发布