create function str_split(@c varchar(2000),@split varchar(2))
returns @t table(col varchar(20))
as
begin
while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end
go
declare @sql varchar(1000)
set @sql=''
select @sql=@sql+'
select '''+col+'''
union '
from (select col from dbo.str_split('北京,上海,广州,天津,杭州,哈尔滨,厦门',',')) as e
print(left(@sql,len(@sql)-5))
returns @t table(col varchar(20))
as
begin
while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end
go
declare @sql varchar(1000)
set @sql=''
select @sql=@sql+'
select '''+col+'''
union '
from (select col from dbo.str_split('北京,上海,广州,天津,杭州,哈尔滨,厦门',',')) as e
print(left(@sql,len(@sql)-5))
本文介绍了一个用于SQL的自定义函数str_split,该函数能够将一个由特定字符分隔的字符串拆分成多个部分,并返回一个表格形式的结果。通过示例展示了如何使用此函数来处理包含多个城市的字符串。

571

被折叠的 条评论
为什么被折叠?



