Magnolia JCR-SQL2按日期排序

时间:2016-06-10 11:57:42

标签: magnolia jcr-sql2

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

SELECT * FROM [mgnl:pages] ORDER BY articlePublishedDate

将返回:

  • Apr 1, 2015 12:00:00 AM
  • Dec 1, 2015 12:00:00 AM
  • Feb 1, 2015 12:00:00 AM

有没有办法让ORDER BY子句作为整数?我试过了CAST(articlePublishedDate AS LONG),但看来我的内容存储库不喜欢它......

3 个答案:

答案 0 :(得分:0)

这是JCR比Magnolia更多的问题,然而,人们可能会做以下工作来解决这个问题。

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

我认为顺序也应该以同样的方式工作。

干杯

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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