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:
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)
但我的内容存储库似乎不喜欢它...
与 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 实现不支持它。
在 JCR 中,我注意到日期以 Feb 19, 2015 12:00:00 AM
格式存储。这意味着当您尝试按日期对查询进行排序时,它似乎不起作用:
SELECT * FROM [mgnl:pages] ORDER BY articlePublishedDate
会 return:
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)
但我的内容存储库似乎不喜欢它...
与 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 实现不支持它。