Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 查询控制台与.xqy文件_Date_Marklogic - Fatal编程技术网

Date 查询控制台与.xqy文件

Date 查询控制台与.xqy文件,date,marklogic,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(

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

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文件的相同问题?

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

第二个示例一次将一个引线传递到表达式中

第一个示例将所有的leader传递到一个表达式中,该表达式期望一个leader


希望这能有所帮助,

您运行的代码不同。这两个代码块完全不同,第二个代码块显然只是一个子集。请确保两者的代码100%相同,并在此处提交。例如,原因可能是$leader为空。我在问题中做了一些编辑。第二个代码段工作正常,因此$leaders不是问题。谢谢:我知道错误了。感谢您的输入可能值得注意的是,在MarkLogic中,在XQuery中使用bare/实际上与编写collection/相同。换句话说,如果您编写/wl:leader,那么将选择文档数据库中所有的wl:leader根元素..哦,对了,在第一个代码中,我一次传递一个完整的dob序列。谢谢