Ale*_*rgo 23 xml sql sql-server xpath
我在SQL Server 2005中有一个xml列,相当于:
<Test foo="bar">
<Otherstuff baz="belch" />
</Test>
Run Code Online (Sandbox Code Playgroud)
我希望能够将Test(根元素)的foo属性的值作为varchar.我的目标是:
select cast( '<Test foo="bar"><Otherstuff baz="belch" /></Test>' as xml).value('@foo','varchar(20)') as Foo
Run Code Online (Sandbox Code Playgroud)
当我运行上面的查询时,我收到以下错误:
消息2390,级别16,状态1,行1 XQuery [value()]:不支持顶级属性节点
mar*_*c_s 45
John Saunders几乎是对的:-)
declare @Data XML
set @Data = '<Test foo="bar"><Otherstuff baz="belch" /></Test>'
select @Data.value('(/Test/@foo)[1]','varchar(20)') as Foo
Run Code Online (Sandbox Code Playgroud)
这对我有用(SQL Server 2005和2008)
渣
如果您不知道根元素:
select @Data.value('(/*/@foo)[1]','varchar(20)') as Foo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16561 次 |
| 最近记录: |