marklogic - 如何使用 xquery 在 Marklogic 中检查文档中的最大值/最小值?
问题描述
我试图找出如何检查文档中时间戳属性的最大值/最小值。
示例文档将类似于:
uri 1 数据:
{
createdTime:2018-10-22 10:04:00
filename: employee.txt
}
uri 2 数据:
{
createdTime:2018-10-22 11:04:00
filename: employee.txt
}
我只需要查看文件employee.txt 的最短创建日期。如何为场景编写 XQuery?
解决方案
如果您能够通过调整数据使 createdTime 符合格式(这基本上意味着在您的情况下用字符“T”替换日期和时间之间的空格) ,则可以在 createdTime 上应用范围索引。xs:dateTime
如果是这样,您可以使用cts.min
, 和之类的函数cts.max
来获取该属性的最小值和最大值。
如果没有,您可以通过获取所有值,将它们排序为字符串,然后首先抓取和最后抓取来尝试蛮力,但这通常不是很明智,因为这非常容易扩展。
如果您无法更改数据,并且暴力破解也不是选项,您可以考虑使用Template Driven Extraction。不过,这是一个相当高级的话题,可能会使事情变得比必要的更复杂。
!
推荐阅读
- fortran - 如何在while循环中更改fortran程序索引变量?
- tensorflow - Keras 在自定义损失函数中使用 class_weights 吗?
- r - 为什么我看到 R 向量类的“整数”而不是“向量”
- python - PyQt5 QfileDialog 专门将文件保存为 python 文件
- android - 我是否能够删除对 SQLite 中文件的引用以解决错误?
- regex - 删除记事本++中前1-3个空格中的数字
- swift - Swift / Xcode:如何为每个月的每一天播放不同的声音?
- python - 一种在 pandas 中查找具有满足特定条件的列的行的有效方法
- xamarin.android - 使用 Xamarin.Android-Emojicon 更改弹出颜色
- javascript - 如何使用 html 标签将文本包装在多个节点内