1. 程式人生 > >SQL Server 字元分割

SQL Server 字元分割

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]