sql 字符串分隔


-- =============================================
-- Create date: 2010-12-06
-- Description: split函数
-- Debug:select * from dbo.Fun_Split('ABC:BC:C:D:E',':')  or select * from Fun_Split('a,b,c',',')
-- 修改時間:
--修改人
-- =============================================
ALTER FUNCTION [dbo].[Fun_Split]
(
 @SourceSql varchar(8000), --要分隔的字符串
 @StrSeprate varchar(10)--分隔的字符
)
RETURNS
@TEMP_Table TABLE ([text] varchar(100))
AS
BEGIN
 DECLARE @i int
 SET @SourceSql=rtrim(ltrim(@SourceSql))
 if RIGHT(@SourceSql,LEN(@StrSeprate))<>@StrSeprate  --追加代碼
    set @SourceSql=@SourceSql+@StrSeprate  --追加代碼
 SET @i=charindex(@StrSeprate,@SourceSql)
 WHILE @i>=1
 BEGIN
  INSERT @TEMP_Table VALUES(left(@SourceSql,@i-1))
  SET @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
  SET @i=charindex(@StrSeprate,@SourceSql)
 END
-- if @SourceSql<>'/'
-- INSERT @TEMP_Table values(@SourceSql)

 RETURN
END
例如: select * from  Fun_Split('a,b,c',',')//以逗号为分隔符
 

猜你喜欢

转载自blog.csdn.net/wlzwcr/article/details/6513948
今日推荐