我有一个表格,其XMLData列为TEXT。我如何阅读本专栏中的数据
答案 0 :(得分:3)
只要该列属于TEXT
类型,您就无法使用它做任何有用的事情。 TEXT
也已被弃用,will be removed in a future version of SQL Server - 停止使用它。
如果它存储XML而只存储XML - 使其为数据类型XML
。
您可以使用XPath和XQuery从该XML中提取单个信息项 - 例如:
SELECT
YourXMlColumn.value('(/Root/SomeItems/Item/FirstName)[1]', 'varchar(50)') as 'FirstName',
YourXMlColumn.value('(/Root/SomeItems/Item/Age)[1]', 'int') as 'Age'
FROM
dbo.YourTable
WHERE
(some condition)
或者如果在XML中的类似列表的结构中有多个项目,则可以基于XPath表达式创建XML项目的“伪表”。
所以你的行动计划应该是:
XML
答案 1 :(得分:0)
使您的列成为XML数据类型而不是TEXT。以下MSDN文章详细描述了sql server中XML的支持方式:
http://msdn.microsoft.com/en-us/library/ms345117(v=sql.90).aspx