在 Oracle 中按日期排序

问题描述 投票:0回答:1

尝试通过以下方式订购:

SELECT DISTINCT TO_DATE(e.PUB_DATE_PRINT, 'DD Mon YYYY') AS "Publication Date"
FROM TABLE
ORDER BY e.PUB_DATE_PRINT DESC

由于日期,我在这里收到错误消息,因为我的 e.PUB_DATE_PRINT 列中有一些空值。

  • 如果我更改为 TO_CHAR,我会得到重复项(我的完整查询中有一些连接)
  • 如果我选择 DISTINCT 和 ORDER BY TO_CHAR(e.PUB_DATE_PRINT, 'DD Mon YYYY'),我得到正确数量的记录,但我无法正确排序,因为它按 'DD' 排序

我似乎无法解决这个问题......!任何帮助将不胜感激。

sql oracle sql-order-by
1个回答
0
投票

Order by
是要应用的查询中的最后一个子句,因此它已经有了要处理的最终结果集。

这是你想要的吗?

SELECT DISTINCT TO_DATE(e.PUB_DATE_PRINT, 'DD Mon YYYY') AS "Publication Date"
FROM TABLE
ORDER BY 1
© www.soinside.com 2019 - 2024. All rights reserved.