【发布时间】:2025-12-30 02:05:13
【问题描述】:
我有以下 XML,我的表名是 table1
<Details >
<RelatedDetails>
<Name>name 1</Name>
<Position>User</Position>
<Relationship>User</Relationship>
<Salary>5000</Salary>
<Type>Company</Type>
</RelatedDetails>
<RelatedDetails>
<Name>name 2</Name>
<Position>User</Position>
<Relationship>Owner</Relationship>
<Salary>7000</Salary>
<Type>Company</Type>
</RelatedDetails>
<RelatedDetails>
<Name>name 3</Name>
<Position>User</Position>
<Relationship>Director</Relationship>
<Salary>2000</Salary>
<Type>Company</Type>
</RelatedDetails>
</Details>
我想在 SQL Server 中获取 Salary > 6000 的 'name' 的值。
请建议如何实现?
理想情况下,我应该得到 'name 2' 作为输出。
【问题讨论】:
-
问题是,我的列不是 xml 列我有 nvarchar 列,我正在尝试使用 cast 将列转换为 xml,但没有得到任何结果
-
在提出问题时,您需要提供一个可重现的最小示例。请参考以下链接:*.com/help/minimal-reproducible-example 请提供以下内容: (1) DDL 和样本数据填充,即 CREATE table(s) 加上 INSERT T-SQL 语句。 (2) 你需要做什么,即逻辑和你的代码尝试实现它。 (3) 期望的输出,基于上面#1 中的样本数据。 (4) 你的 SQL Server 版本 (SELECT @@version;)
-
@kawade,还有一个问题。存储在 MVARCHAR() 列中的 XML 是否具有指定编码的 XML 序言声明?
标签: sql-server xml