-- =============================================
-- 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',',')//以逗号为分隔符
sql 字符串分隔
最新推荐文章于 2024-07-24 17:08:13 发布