以下 XQuery 片段:
let $x := ()
return if (not($x eq $x) and not($x = $x))
then "wat"
else "makes sense"
returns wat
。为什么?这有效布尔值 https://learn.microsoft.com/en-us/sql/xquery/effective-boolean-value-xquery一个空序列应该是false
,但两者都false() eq false()
and false() = false()
评估为true
…
See https://www.w3.org/TR/xquery-31/#id-comparisons https://www.w3.org/TR/xquery-31/#id-comparisons对于值比较运算符,例如eq
,它说:“如果原子化操作数是空序列,则值比较的结果也是空序列”。所以() eq ()
评估为()
进而not(())
to true()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)