我如何使用或在查询中使用?
如果name =“Michael”或者年龄= 21,我想返回。 这就是我所拥有的
$d[contains((name,"Michael") or (age,"21"))]
答案 0 :(得分:2)
如果你想检查它们是否=:
$d[name = "Michael" or age = "21"]
或者如果你真的想使用contains:
$d[contains(name,"Michael") or contains(age,"21")]
当你写contains((,) or (,) )
时,你似乎在语法层面上使用or
,给xquery解析器两个不同。这在Xquery或大多数编程语言中是不可能的,因为它们的函数和操作数在表达式的值上运行,而不是在语法上运行。 (name,"Michael")
但是没有值(嗯,它具有两个元素序列的值,但这不是您感兴趣的值),只有contains(name,"Michael")
具有测试的实际值,如果name
包含"Michael"
。所以,或者必须在两次调用contains
之间。