sql字符串分割:
create Function [dbo].[fn_SplitStr]
(
@SourceSql VARCHAR(max), -- 字符串
@StrSeprate VARCHAR(10) -- 用于分解的字符
)
RETURNS @temp TABLE(result VARCHAR(100))
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
使用:
select * from [dbo].[fn_SplitStr]('22,25,25,89',',')
效果: