--CREATE FUNCTION [dbo].[tf_split_char2]ALTER FUNCTION [dbo].[tf_split_char2] ( --根据分节符拆分字符串 @cstring NVARCHAR(MAX) ,--输入字符串 @csplit NVARCHAR(1)--分节符 )RETURNS @t TABLE ( id INT IDENTITY(1, 1) , cchar NVARCHAR(MAX) )AS BEGIN DECLARE @ilocation INT= 0; DECLARE @inextlocation INT= 1; DECLARE @ilen INT; WHILE @inextlocation > 0 BEGIN SET @inextlocation = CHARINDEX(@csplit, @cstring, @ilocation + 1); SET @ilen = CASE WHEN @inextlocation > 0 THEN @inextlocation ELSE LEN(@cstring) + 1--最右边一节字符串 END - @ilocation - 1;--截取字符串的长度 INSERT INTO @t ( cchar ) VALUES ( SUBSTRING(@cstring, @ilocation + 1, @ilen) ); SET @ilocation = @inextlocation; END; RETURN; END;