我想从Orders表中选择记录。它包含OrderXML作为XML类型列。
如果OrderXML的订单状态由用户指定,那么它应该选择记录。 我正在尝试跟踪查询但不工作 -
SELECT *
FROM ORDER
WHERE ORDERXML.EXISTS('/Order/header/status/text()="Processing"') = 1
答案 0 :(得分:3)
您需要将谓词放在括号内,exist
需要小写。 XML区分大小写,甚至SQL Server中的XML函数名称也区分大小写。
select O.*
from [Order] as O
where O.OrderXML.exist('/Order/header/status[text() = "Processing"]') = 1