sql语句依据特殊字符截取字符串获取数据

现有表格A数据如下:idnum-----------------1121,34,56212323,09想通过sql语句中字符串截取得数据,并插入表B中,得到表的最终形式如... 现有表格A数据如下:
id num
-----------------
1 121,34,56
2 12
3 23,09

想通过sql语句中字符串截取得数据,并插入表B中,得到表的最终形式如下:
id num
-------------------
1 121
1 34
1 56
2 12
3 23
3 09

sql语句该怎么写?
展开
 我来答
折柳成萌
高粉答主

2018-01-31 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:8254万
展开全部
CREATE TABLE [#tmp] (
[数字] [varchar] (35) COLLATE Chinese_PRC_CI_AS NULL ,
) ON [PRIMARY]
declare @Len int
set @Len=1
declare @hen int
set @hen=1
while @hen>0
begin
SELECT @hen=CHARINDEX('-', substring('20-45-122-25-1',@Len,Len('20-45-122-25-1' )) )

IF @hen=0 AND CHARINDEX('-',REVERSE('20-45-122-25-1'))>1
BEGIN

insert into #tmp ([数字])
(SELECT REVERSE(SUBSTRING (REVERSE('20-45-122-25-1'),1,CHARINDEX('-',REVERSE('20-45-122-25-1')))))
END
ELSE
insert into #tmp ([数字])
(select substring('20-45-122-25-1',@Len,@hen ))
--select substring(substring('20-45-122-25-1',@Len,Len('20-45-122-25-1' )),1, @hen+1))
set @Len=@Len+@hen

END
select REPLACE([数字],'-','') from #tmp
drop table #tmp
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式