查询控制台与.xqy文件

时间:2017-07-12 09:40:13

标签: date marklogic

我在查询控制台中运行以下代码:

let $age := xs:integer(fn:days-from-duration(fn:current-date() - xs:date(/wl:leader/wl:dob/text())) div 365.25)

return $age

以下.xqy文件中:

for $leader in /wl:leader    
let $age := xs:integer(fn:days-from-duration(fn:current-date() - xs:date($leader/wl:dob/text())) div 365.25)
return $age

现在,两者都相似,但是当在查询控制台上运行时,我收到错误:arg1不是类型xs:duration? 我理解错误是由'fn:current-date()'中的持续时间部分引起的,但为什么我不会遇到与.xqy文件相同的问题?

1 个答案:

答案 0 :(得分:1)

正如亨特先生所指出的,代码中的差异解释了错误。

第二个例子一次将一个领导者传递给表达式。

第一个例子将所有领导者传递给期望单一领导者的表达。

希望有帮助,