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

MSSQL
SQL2005学习笔记 APPLY 运算符
SQL2005学习笔记 EXCEPT和INTERSECT运算符
SQL2005 学习笔记 窗口函数(OVER)
SQL2005 ROW_NUMER实现分页的两种常用方式
SQL Server中的XML数据进行insert、update、delete
在安装sql2005中或安装后sa用户无法登陆系统解决方法
SQL2005 自动备份的脚本
在SQLServer 2005中编写存储过程
SQL2005 服务器因重装改名后出错的说明
使用c#构造date数据类型
SQLServer2005 批量查询自定义对象脚本
SQLServer2005 Output子句获取刚插入的ID值
SQLServer 设置单词首字母大写
SQLServer ntile获取每组前10%的数据
安装SQL2005提示 找不到任何SQL2005组件的问题解决方案
sql2005开发版 没有任何功能可以安装
超详细的sql2005图解安装全过程
sqlserver2005 安装图解教程
winXP系统安装SQLServer2005开发版具体过程与注意问题
SQLServer 2005系统配置要求官方说明

MSSQL 中的 sqlserver2008 拆分字符串


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 82 ::
收藏到网摘: 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