当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server 2005中利用xml拆分字符串序列

MSSQL
SQL Server:小编浅谈视图的认识与原理
SQL Server各种日期计算方法之二
SQL Server各种日期计算方法之一
Sql Server中的日期与时间函数
SQL Server不能启动的常见故障[1][1]
如何将SQL Server中的表变成txt 文件
SQL Server不存在或访问被拒绝 Windows里的一个bug
探讨SQL Server 2005的评价函数
SQL Server 2000数据库升级到SQL Server 2005的最快速
实现删除主表数据时, 判断与之关联的外键表是否有数据
SELECT 赋值与ORDER BY冲突的问题
无法在 SQL Server 2005 Manger Studio 中录入中文的
如何快速生成100万不重复的8位编号
精华:精妙SQL语句
SQL Server导出导入数据方法
MS SQL SERVER 的一些有用日期
怎样用SQL 2000 生成XML
当SQL Server数据库崩溃时如何恢复
SQL Server查询语句的使用
SQL Server 中易混淆的数据类型

MSSQL 中的 SQL Server 2005中利用xml拆分字符串序列


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

问题:SQL Server 2005中如何利用xml拆分字符串序列?

解答:下文中介绍的方法比替换为select union all方法更为见效,并且不用考虑因为字符串过长而导致动态sql语句过长。

代码如下:

以下为引用的内容:

DECLARE @str varchar(1000)
DECLARE @idoc int;
DECLARE @doc xml;

 
set @str='1¦3¦4¦25'
set @doc=cast('<Root>
<item><ID>'+replace(@str,'&brvbar;','
</ID></item><item><ID>')+'</ID></item></Root>' as xml)
EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc

SELECT *   FROM OPENXML (@Idoc, '/Root/item',2)
WITH (
[ID] varchar(10)
)
 /**//*
ID
-----------
1
3
4
25*/