我有一个包含 XQuery 表达式的表。我想为给定的 XML 数据结构评估每一行的表达式。我正在尝试这个。
DECLARE @somexml xml
SET @somexml = '<root><nodeA>true</nodeA><nodeB>false</nodeB></root>'
SELECT
@somexml.query('sql:column("af.Expression")' ) AS Fee,
[af].Expression
FROM
[AerialFees] af
该Expression
列包含以下类型的值NVARCHAR(MAX)
:-xs:boolean(/root[1]/nodeA[1])
执行此操作时SELECT
,不会对表达式进行评估,而是返回表达式本身(顺便说一句,XML 类型)
Fee Expression
==================================================
xs:boolean(/root[1]/nodeA[1]) xs:boolean(/root[1]/nodeA[1])
如果替换@somexml.query('sql:column("af.Expression")' )
为实际表达式@somexml.query('xs:boolean(/root[1]/nodeA[1])' )
,则表达式得到正确评估。
但我怎样才能让上述工作?