所以我花了一整天时间寻找使用xpath/xquery作为SQL Server查询的一部分来从XML数据列返回值无效的好例子.
这就是我想要做的.我在表中的XML数据列中有以下XML:
<Document ID="156">
<Version>1.0</Version>
<LastModifiedInVersion>1.0</LastModifiedInVersion>
<Signatures />
<Controls>
<Control ID="TB1">
<Value>Hello world!</Value>
</Control>
</Controls>
<AutoKeys />
</Document>
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个SQL Server查询,它将返回节点ID属性的值Document.我想对表中的所有行执行此操作,并且所有XML数据都以完全相同的格式启动.
任何帮助将不胜感激!我真的需要一个干净的例子,我可以从那里拿走它!
这就是表格的XML列中的整个XML?
在这种情况下,使用这样的东西:
SELECT
(list of other columns),
XmlColumn.value('(/Document/@ID)[1]', 'int') AS 'DocumentID'
FROM
dbo.YourTable
Run Code Online (Sandbox Code Playgroud)
该.value()调用基本上将XPath作为其第一个参数,并将T-SQL类型作为其第二个参数,并将该XML值作为给定的T-SQL数据类型返回给查询.