首页 > 数据库技术 > 详细

SQL 将一个字段内用逗号分隔的内容分成多条记录

时间:2016-09-15 19:16:06      阅读:608      评论:0      收藏:0      [点我收藏+]
CREATE TABLE [dbo].[testtb](
[namea] [varchar](100) NULL,
[desca] [varchar](50) NULL
) ON [PRIMARY]
insert into testtb values(‘A1,A2,‘,‘AAAAA‘)
insert into testtb values(‘A3,‘,‘BBBBBB‘)
insert into testtb values(‘A5,A8,A9,‘,‘AAACCAA‘)
insert into testtb values(‘A6,A20,‘,‘AAANNNNAA‘)
--select * from testtb 
--truncate table testtb
--定义一个临时表
WITH testtb2 AS (
SELECT namea,desca,CHARINDEX(‘,‘,namea) STA,CHARINDEX(‘,‘,namea)-1 LENS FROM testtb  
UNION ALL
SELECT namea,desca,CHARINDEX(‘,‘,namea,STA+1) STA,CHARINDEX(‘,‘,namea,STA+1)-STA-1 LENS FROM testtb2 WHERE STA<>0)
--SELECT * FROM testtb2
  
SELECT SUBSTRING(namea,STA-LENS,LENS) as [name],desca FROM testtb2
WHERE STA<>0
order by  SUBSTRING(namea,STA-LENS,LENS)

 

SQL 将一个字段内用逗号分隔的内容分成多条记录

原文:http://www.cnblogs.com/Snowfun/p/5875156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!