此处的目标是从SQL Server 2008表列中提取属性值。该列是XML数据类型,当然,名为“ProductName”。这是示例数据
<locale en-US="My Text" />
这是我最近尝试获取“我的文字”
SELECT ProductName.value('/@locale en-US', 'nvarchar(max)')
AS ProductName FROM MyTable
谢谢,祝你好运!
答案 0 :(得分:1)
SELECT ProductName.value('(/locale/@en-US)[1]', 'nvarchar(max)') AS ProductName
FROM MyTable
答案 1 :(得分:1)
试试这个:
SELECT
ProductName.value('(/locale/@en-US)[1]', 'varchar(50)')
FROM
dbo.MyTable
XPath表达式的/locale
部分与<locale>
元素匹配,而@en-US
部分与该XML元素的en-US
属性匹配
答案 2 :(得分:0)
declare @xml xml =
'<root>
<locale en-US="My Text" />
</root>'
select @xml.value('(/root/locale/@en-US)[1]', 'nvarchar(max)')
<强>结果强>
我的文字