请以逗号为分割符的常量形成数据行的sql语句。

baoqingfeng 2004-12-17 12:53:53
我想把字符串'135,136,137'通过类似select * from ('135,136,137') as t1 这样的语句把这样的字符串变成
mobile
135
136
137
这样的临时表数据行。想通过一句语句实现,不能使用变量。
...全文
92 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinsonshen 2004-12-17
  • 打赏
  • 举报
回复
呵呵, 楼上的动作真快~~~

楼主,一句语句搞不了的,要写个函数,就如楼上的 ~~
vinsonshen 2004-12-17
  • 打赏
  • 举报
回复
是变成插入3条记录?
pbsql 2004-12-17
  • 打赏
  • 举报
回复
创建一个拆分函数:
CREATE FUNCTION dbo.splitstring(@str varchar(8000),@c varchar(10))
RETURNS @t table(s varchar(100))
AS
BEGIN
DECLARE @s varchar(8000)
SET @s=@str
WHILE CHARINDEX(@c,@s)>0
BEGIN
INSERT INTO @t(s) VALUES(LEFT(@s,CHARINDEX(@c,@s)-1))
SET @s=RIGHT(@s,LEN(@s)-CHARINDEX(@c,@s))
END
INSERT INTO @t(s) VALUES(@s)
RETURN
END
GO
--调用:
select * from dbo.splitstring('135,136,137',',')
pbsql 2004-12-17
  • 打赏
  • 举报
回复
是现成的代码
happyjun2000 2004-12-17
  • 打赏
  • 举报
回复
一楼的够快,好象坛子里本来就有代码,搜索以下就好了

34,587

社区成员

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

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