Magnolia JCR-SQL2 按日期排序

Magnolia JCR-SQL2 order by Date

在 JCR 中,我注意到日期以 Feb 19, 2015 12:00:00 AM 格式存储。这意味着当您尝试按日期对查询进行排序时,它似乎不起作用:

SELECT * FROM [mgnl:pages] ORDER BY articlePublishedDate

会 return:

有什么方法可以使 ORDER BY 子句充当整数?我试过 CAST(articlePublishedDate AS LONG) 但我的内容存储库似乎不喜欢它...

与 Magnolia 相比,这是 JCR 的更多问题,但是,可以执行以下操作来解决此问题。

SELECT p.* FROM [mgnl:page] AS p
WHERE p.[mgnl:lastModified] > CAST('2016-06-10T07:24:50.233Z' AS DATE)

我假设 order by 也应该以同样的方式工作。

干杯

确保 articlePublishedDate 节点 属性 的类型为 Date,而不是 String。例如,以下 JCR2 查询在 website 存储库上执行时以正确的顺序返回结果:

select p.* from [mgnl:page] as p order by p.[jcr:created] desc

结束了代码排序,因为我的 JCR 实现不支持它。