我阅读了许多相关文章,并尝试从具有NVARCHAR(MAX)任何特定标记类型的列中获取xml值。
CREATE TABLE dataTable (RECID NVARCHAR(MAX),XMLRECORD NVARCHAR(MAX));
我的XMLRECORD列将包含标签如下的数据
<row id='1'>
<c2>Account-sample</c2>
</row>
下面的附件是我创建的选择查询,它产生了CLOB而不是实际值。关于如何获得实际价值的任何想法?(即帐户样本)
select b.x.value('data(/row/c2)[1]', 'NVARCHAR(max)')
from dataTable a
cross apply(select cast(cast(XMLRECORD as VARCHAR(max)) as XML) x) b;
使用以下查询
select *, try_cast(xmlrecord as xml).value('(row/c2)[1]', 'nvarchar(500)') as c2
from dataTable
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。