XML XQUERY NTEXT 数据类型的问题
我想对数据类型为 NTEXT 的列使用 XQuery(我别无选择!)。我尝试使用 CONVERT
将列转换为 XML,但出现错误:
Incorrect syntax near the keyword 'CONVERT'.
这是查询
SELECT
y.item.value('@UserID', 'varchar(50)') AS UnitID,
y.item.value('@ListingID', 'varchar(100)') AS @ListingID
FROM
dbo.KB_XMod_Modules
CROSS APPLY
CONVERT(xml, instancedata).nodes('//instance') AS y(item)
(instancedata 是我的列)
有人能想到解决此问题的方法吗?
谢谢
I want to use XQuery on a column of data type NTEXT (I have no choice!). I have tried converting the column to XML using CONVERT
but it gives the error:
Incorrect syntax near the keyword 'CONVERT'.
Here's the query
SELECT
y.item.value('@UserID', 'varchar(50)') AS UnitID,
y.item.value('@ListingID', 'varchar(100)') AS @ListingID
FROM
dbo.KB_XMod_Modules
CROSS APPLY
CONVERT(xml, instancedata).nodes('//instance') AS y(item)
(instancedata is my column)
Can anyone think of a work around for this ?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
似乎
CONVERT
和CAST(... AS XML)
都不起作用。XQuery 的东西实际上只适用于 XML 列 - 抱歉。
但是:也许有一条逃生路线 :-)
您可以执行以下两种操作之一:
XML
类型的持久计算列添加到您的表中,并在该新列上进行派对,或者 - 如果您无法更改表结构 -
因此,对于解决方案 #1,您需要执行以下操作:
对于解决方案 #2,您需要使用:
在这两种情况下,您现在都有一个
XmlCol可用
,您可以使用 XQuery 进行查询!XML
类型的It seems that neither
CONVERT
norCAST(... AS XML)
work.The XQuery stuff really only works on XML columns - sorry.
However: maybe there's an escape route :-)
You could do one of two things:
XML
to your table and party on that new columnor - if you can't change the table structure -
So for solution #1 you'd do:
and for solution #2, you'd use:
In both cases, you now have a
XmlCol
of typeXML
available, which you can query with XQuery to your heart's delight!