我正在尝试查询 XML 列以返回属性位于可能值列表中的所有行。
XQuery 允许类似
SELECT COUNT(*)
FROM table
WHERE xml_col.exist('//Field.[@name=("value1","value2","value3")]') = 1
这将返回具有属性@name 设置为“value1”、“value2”或“value3”的字段的记录数。
我想做的是编写一个简洁的查询,可以将集合“value1”、“value2”、“value3”作为输入参数处理,例如
DECLARE @list NVARCHAR(100)
SET @list = '("value1","value2","value3")'
SELECT COUNT(*)
FROM table
WHERE xml_col.exist('//Field.[@name=sql:variable("@list")]') = 1
这当然是无效的。任何建议,将不胜感激!