/*
函數(shù)名稱:f_SplitToNvarchar
作用:實(shí)現(xiàn)split功能的函數(shù)
更新記錄:
設(shè)計(jì)思路:將nvarchar類型字符結(jié)合的一個(gè)串,分隔到一張只有一列nvarchar類型的表里
*/
CREATE FUNCTION [dbo].[f_SplitToNvarchar]
(
@SourceSql NVARCHAR(MAX),--源分隔字符串
@StrSeprate VARCHAR(10)--分隔符
)
RETURNS @temp TABLE(col NVARCHAR(MAX))
AS
BEGIN
DECLARE @i INT
SET @SourceSql = RTRIM(LTRIM(@SourceSql))
SET @i = CHARINDEX(@StrSeprate, @SourceSql)
WHILE @i >= 1
BEGIN
INSERT @temp
VALUES
(
LEFT(@SourceSql, @i -1)
)
SET @SourceSql = SUBSTRING(@SourceSql, @i + 1, LEN(@SourceSql) -@i)
SET @i = CHARINDEX(@StrSeprate, @SourceSql)
END
IF @SourceSql > '\'
INSERT @temp
VALUES
(
@SourceSql
)
RETURN
END
GO
SELECT col FROM f_SplitToNvarchar('1,2,3,4',',');