当前位置: 首页 > 图文教程 > 数据库 > MSSQL > sqlserver2008 拆分字符串

MSSQL
大内存SQL Server数据库的加速剂
SQL Server视图管理中的四个限制条件
从客户端提升SQL Server数据库性能
影响SQL Server性能的三个关键点
MySQL鲜为人知的几个特殊技巧
最简单删除SQL Server中所有数据的方法
揭秘SQL Server 2008性能和可扩展性
SQL SQL Server 2008中的新日期数据类型
SQL Server 2005中的CLR集成
新手入门:防范SQL注入攻击的新办法
SQL Server 2005常见问题浅析
SQL Server数据库优化经验总结
SQL Server元数据的管理与应用
最新的关键SQL Server漏洞已被微软证实
如何使用SQLServer数据库查询累计值
SQL Server 2008中的新日期数据类型
SQL注入攻击成为新威胁将挑战操作系统安全
并行查询让SQL Server加速运行
SQL Server 2008数据挖掘查询任务
三招解决SQL Server数据库权限冲突

MSSQL 中的 sqlserver2008 拆分字符串


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 127 ::
收藏到网摘: n/a

数据库 拆分字符串 --说明:例如,将下列数据
id id_value
-----------------
1 'aa,bb'
2 'aa,bb,cc'
3 'aaa,bbb,ccc'
--转换成以下的格式
id id_value
-----------------
1 'aa'
1 'bb'
2 'aa'
2 'bb'
2 'cc'
3 'aaa'
3 'bbb'
3 'ccc'
--代码-------------------------------------------GO
复制代码 代码如下:

create table ta
(
id int,
id_value varchar(30)
)
insert into ta
select 1,'aa,bb' union all
select 2,'aa,bb,cc' union all
select 3,'aaa,bbb,ccc'
select
top 4000 ix = identity(int, 1, 1)
into #tb
from sys.objects a, sys.objects b
select
id,
id_value = substring(id_value,ix,charindex(',',id_value + ',',ix) - ix)
FROM ta as A, #tb as B
WHERE SUBSTRING( ',' + id_value, ix, 1) = ','
drop table ta
drop table #tb