Mar*_*One 2 xml sql sql-server
我有一个数据库表,其中我有一些XML数据类型的数据.
以下是该列中某些数据的示例.
<locale en-US="Test & Data" />
Run Code Online (Sandbox Code Playgroud)
有没有办法只提取SQL服务器中的"测试和数据"字样.有内置功能吗?
尝试这样的事情.
如果您有XML变量:
declare @xml XML = '<locale en-US="Test & Data" />';
select
data.node.value('@en-US', 'varchar(11)') my_column
from @xml.nodes('locale') data(node);
Run Code Online (Sandbox Code Playgroud)
在你的情况下,对于一个表的列(抱歉没有先给出这个例子):
create table dbo.example_xml
(
my_column XML not null
);
go
insert into dbo.example_xml
values('<locale en-US="Test & Data" />');
go
select
my_column.value('(/locale/@en-US)[1]', 'varchar(11)') [en-US]
from dbo.example_xml;
go
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.