如何把一条记录分成两条

dis11 2006-02-20 03:25:04
怎么把这条sql语句
select 'fir' , 'b,c' , 'last'
分成
select 'fir' , 'b' , 'last'
和select 'fir' , 'c' , 'last' ?
...全文
113 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2006-02-20
  • 打赏
  • 举报
回复
create function dd(@s varchar(4000))
returns @t table(d varchar(10))
as
begin
declare @tmp varchar(8000)
set @tmp = @s + ','
while (charindex(',',@tmp)>0)
begin
insert @t select left(@tmp ,charindex(',',@tmp)-1)
set @tmp = right(@tmp ,len(@tmp) - charindex(',',@tmp))
end
return
end
go


select a.col1,b.d,a.col2 from (select 'fir'as col1,'last' as col2) a,dbo.dd('b,c') b
drop function dd

/*
col1 d col2
---- ---------- ----
fir b last
fir c last
*/
lsxaa 2006-02-20
  • 打赏
  • 举报
回复
很简单

把 , 号 替换成 ' union all select ' 就行了
lsxaa 2006-02-20
  • 打赏
  • 举报
回复
很简单

把 , 号 替换成 union all select ' 就行了

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧