在Oracle中按日期排序

时间:2015-02-26 16:17:22

标签: sql oracle sql-order-by

按以下方式尝试订购:

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'命令

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

1 个答案:

答案 0 :(得分:0)

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

这是你想要的吗?

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