字符串分割函数

主要函数: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

posted @ 2026-08-30 18:01  清哥的码农生活  阅读(2)  评论(0)    收藏  举报