【问题标题】:Magnolia JCR-SQL2 order by DateMagnolia JCR-SQL2 按日期排序
【发布时间】: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),但似乎我的内容存储库不喜欢它...

【问题讨论】:

    标签: magnolia jcr-sql2


    【解决方案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 实现不支持它。

        【讨论】:

          猜你喜欢
          • 2023-04-10
          • 1970-01-01
          • 2018-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多