Magnolia JCR-SQL2 按日期排序
Posted
技术标签:
【中文标题】Magnolia JCR-SQL2 按日期排序【英文标题】:Magnolia JCR-SQL2 order by Date 【发布时间】:2016-06-10 11:57:41 【问题描述】:在 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)
,但似乎我的内容存储库不喜欢它...
【问题讨论】:
【参考方案1】:这是 JCR 比 Magnolia 更多的问题,但是,可以执行以下操作来解决此问题。
SELECT p.* FROM [mgnl:page] AS p
WHERE p.[mgnl:lastModified] > CAST('2016-06-10T07:24:50.233Z' AS DATE)
我认为 order by 也应该以同样的方式工作。
干杯
【讨论】:
【参考方案2】:确保articlePublishedDate
节点属性的类型为Date
,而不是String
。例如,以下 JCR2 查询在 website
存储库上执行时以正确的顺序返回结果:
select p.* from [mgnl:page] as p order by p.[jcr:created] desc
【讨论】:
【参考方案3】:最终在代码中排序,因为我的 JCR 实现不支持它。
【讨论】:
以上是关于Magnolia JCR-SQL2 按日期排序的主要内容,如果未能解决你的问题,请参考以下文章