高手进,这样的SQL语句如何写

niukl 2004-08-20 10:21:42
我有一个字串:'1,2,3,4,5,6'

我想在临时表中写入如下的记录:

#tmp
id
1
2
3
4
5
6

共六条记录

要求:
1、不能分解字串(要是分解,我也会!)

这问题的意义在于如何找到最快的方法把 一个字串转化成多个记录,然后处理起来就方便多了。
所以,大家积极发言呀?
...全文
97 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjdn 2004-08-20
  • 打赏
  • 举报
回复
create table #tmp(id int)
declare @sql as varchar(800)
select @sql=''
select @sql='insert into #tmp values ('''+replace('1,2,3,4,5,6',',',''') insert into #tmp values (''')+''')'
exec (@sql)
AntingZ 2004-08-20
  • 打赏
  • 举报
回复
太妙了
zjcxc 元老 2004-08-20
  • 打赏
  • 举报
回复
declare @s varchar(8000)
set @s='1,2,3,4,5,6'

--写入临时表
set @s=replace(@s,',',' union all select ')
create table #tmp(id int)
exec('insert #tmp select '+@s)
select * from #tmp

drop table #tmp

/*--结果

id
-----------
1
2
3
4
5
6

(所影响的行数为 6 行)
--*/
skyboy0720 2004-08-20
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3079/3079594.xml?temp=1.763552E-02
niukl 2004-08-20
  • 打赏
  • 举报
回复
妙,学习!

34,588

社区成员

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

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