我正在尝试找出如何检查文档中时间戳属性的最大值/最小值。
示例文档将类似于:
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?
答案 0 :(得分:1)
如果您能够使createdTime符合xs:dateTime
格式(基本上意味着将日期和时间之间的空格替换为您的字符'T'),则可以在createdTime上apply a range inde x情况),只需调整数据即可。
如果是这样,则可以使用诸如cts.min
和cts.max
之类的函数来获取该属性的最小值和最大值。
如果没有,您可以尝试通过获取所有值,将它们排序为字符串,然后首先抓取和最后抓取来进行暴力破解,但这通常不是很明智,因为这样做的规模非常大。
如果您无法更改数据,并且也无法使用暴力破解,则可以考虑使用Template Driven Extraction。但是,这是一个相当高级的主题,可能会使事情变得比必要的复杂。
HTH!
答案 1 :(得分:0)
海报要求一个Xquery。这很简单。
min(doc("file.json")//createdTime)
如果json字段(字符串)的格式如图所示,则无需将其转换为dateTime,因为文本词法排序顺序会对该格式产生相同的顺序。否则,您将需要解析并转换为xs:dateTime