SQL Server 字元分割
阿新 • • 發佈:2019-01-04
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,@ [email protected])
INSERT INTO @InputSplitstable([SplitItem])
VALUES(@ReturnText)
SELECT @[email protected]+1
END
RETURN
END
GO
SELECT * FROM dbo.[fn_public_Split]('1,2,3,4,5,6', ',')
GO
DROP FUNCTION [fn_public_Split]