Thd*_*hdK 28 xml sql t-sql xquery sql-server-2008
我的数据库中有以下xml:
<email>
<account language="en" ... />
</email>
Run Code Online (Sandbox Code Playgroud)
我现在正在使用这样的东西:但仍然需要找到属性值
SELECT
convert(xml,m.Body).query('/Email/Account')
FROM Mail
Run Code Online (Sandbox Code Playgroud)
如何language
使用SQL在select语句中获取属性的值?
Kir*_*huk 46
使用XQuery:
declare @xml xml =
'<email>
<account language="en" />
</email>'
select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
Run Code Online (Sandbox Code Playgroud)
declare @t table (m xml)
insert @t values
('<email><account language="en" /></email>'),
('<email><account language="fr" /></email>')
select m.value('(/email/account/@language)[1]', 'nvarchar(max)')
from @t
Run Code Online (Sandbox Code Playgroud)
输出:
en
fr
Run Code Online (Sandbox Code Playgroud)
这应该工作:
DECLARE @xml XML
SET @xml = N'<email><account language="en" /></email>'
SELECT T.C.value('@language', 'nvarchar(100)')
FROM @xml.nodes('email/account') T(C)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
70376 次 |
最近记录: |