字符串分割函数
主要函数:SUBSTRING,STUFF,CHARINDEX
DECLARE @str NVARCHAR(50);
SET @str='A#B#C';
SELECT CHARINDEX('#',@str) --2
SELECT SUBSTRING(@str,1,CHARINDEX('#',@str)-1); --A
SELECT STUFF(@str,1,CHARINDEX('#',@str),'') --B#C
CREATE FUNCTION [dbo].[fn_SplitStr]
(
@str VARCHAR(MAX),--字符串
@split VARCHAR(2) --分割符
)
RETURNS @t TABLE
(
id INT IDENTITY(1,1),
col VARCHAR(MAX)
)
AS
BEGIN
WHILE(CHARINDEX(@split,@str)<>0)
BEGIN
INSERT @t(col) VALUES(SUBSTRING(@str,1,CHARINDEX(@split,@str)-1))
SET @str= STUFF(@str,1,CHARINDEX(@split,@str),'')
END
INSERT @t(col) VALUES (@str)
RETURN
END
GO


浙公网安备 33010602011771号