--分拆列值
--原著:邹建
--改编:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-12-16 广东深圳
/*
有表tb, 如下:
id value
----------- -----------
1 aa,bb
2 aaa,bbb,ccc
*/
--欲按id,分拆value列, 分拆后结果如下:
/*
id value
----------- --------
1 aa
1 bb
2 aaa
2 bbb
2 ccc
*/
--1. 旧的解决方法(sql server 2000)
select top 8000 id = identity(int, 1, 1) into # from syscolumns a, syscolumns b
select A.id, substring(A.[values], B.id, charindex(',', A.[values] + ',', B.id) - B.id)
from tb A, # B
where substring(',' + A.[values], B.id, 1) = ','
drop table #
--2. 新的解决方法(sql server 2005)
create table tb(id int,value varchar(30))
insert into tb values(1,'aa,bb')
insert into tb values(2,'aaa,bbb,ccc')
go
select A.id, B.value
from(
select id, [value] = convert(xml,' <root> <v>' + replace([value], ',', ' </v> <v>') + ' </v> </root>') from tb
)A
outer apply(
select value = N.v.value('.', 'varchar(100)') from A.[value].nodes('/root/v') N(v)
)B
drop table tb
/*
id value
----------- ------------------------------
1 aa
1 bb
2 aaa
2 bbb
2 ccc
(5 行受影响)
*/
分享到:
相关推荐
精妙sql.doc————电子版_doc版
Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化Sql Server——Sql性能优化
sql server 数据库——shopsystem
Transact-SQL元编程——用T-SQL生成T-SQL.pdf
SQL优化方案——性能优化,包含52条sql优化建议,让你sql飞一般的运行
实验5 sql语句练习——图书馆数据库.docx
SQL 2005(PPT) SQL 2005课件——数据库全面学习
查询表,存储过程语句查询,日期的推算,分拆列值等经典SQL源码及分析...简练,易懂,学的快,用的快
sql查询语句——关系代数.pdf
sqlserver导入oracle工具,
SQL Server 将某一列的值拼接成字符串示例
SQL语句大全———经典珍藏版.doc 数据库基本
T-SQL核对清单——13条卓有成效的T-SQL实践.pdf
SQL for Palm——移动设备编程项目.pdf
SQL查询语句——SELECT的使用技巧.pdf
SQL Server2008的T—SQL新功能——小功能有大用途.pdf
PHP&My SQL范例精解——创建、修改、重用(高清电子书和源码)
我之前上传的SQL测试题目的答案--没做不要看哦!哈哈
SQL操作全集,常用的SQL语句。包括创建、修改表、视图等等
试验5sql语句练习——图书馆数据库答案.docx