您的位置:首页 > 数据库

SQL 根据指定字符拆分字符串

2014-11-26 13:34 483 查看
CREATE FUNCTION [dbo].[F_StringSplit]
(
@STR NVARCHAR(MAX)='',
@SPLITER NVARCHAR(20)='')
RETURNS @TB TABLE(TB_V NVARCHAR(200))

AS

BEGIN
DECLARE @NUM INT, @POS INT,@NEXT_POS INT
SET @NUM=0
SET @POS=1
WHILE (@POS <=LEN(@STR))
BEGIN
SELECT @NEXT_POS=CHARINDEX(@SPLITER,@STR,@POS)
IF (@NEXT_POS=0 OR @NEXT_POS IS NULL)
--BEGIN
SELECT @NEXT_POS=LEN(@STR)+1

INSERT INTO @TB VALUES(RTRIM(LTRIM(SUBSTRING(@STR,@POS,@NEXT_POS-@POS))))

SELECT @POS=@NEXT_POS +1
--END

END
RETURN
END


调用:

select * from  DBO.F_StringSplit('5,6,2,3,',',')


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: