【问题标题】:How I build XQuery for this?我如何为此构建 XQuery?
【发布时间】:2011-01-12 13:56:11
【问题描述】:

你好,我想从我的表 T 中选择 XML 列 X
使用 XQuery 还是通过其他方式?

例如,T 表中 X 列的两个值如下所示:

第 1 行

<bts>
   <bt id="1">RAY</TextValue>
   <bt id="2">רוי</TextValue>
   <bt id="3">Ré</TextValue>
</bts>

第 2 行

<bts>
   <bt id="1">DAN</TextValue>
   <bt id="2">דן</TextValue>
   <bt id="3">Dé</TextValue>
</bts>

然后我想从表中选择元素id所在的所有行
X 列中为@a(例如@a = 3)
并将所有文本放在临时表中,包括它们在 NVARCHAR 类型中。

Ré
Dé

如果@a 等于 2,那么我希望临时表是:

רוי
דן

INT T-SQL 我是怎么做的???

【问题讨论】:

  • 您的结束&lt;/TextValue&gt; 与开始&lt;bt&gt; 标记不匹配....

标签: sql-server tsql xquery


【解决方案1】:

试试这样的:

DECLARE @WhichValue INT
SET @WhichValue = 1  -- or 2, or whatever

SELECT 
   X.value('(/bts/bt[@id=sql:variable("@WhichValue")]/text())[1]', 'NVARCHAR(50)')
FROM 
   dbo.T

【讨论】:

    猜你喜欢
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多