對於查詢:按降序根據需要訂購數據庫記錄 - 甲骨文
SELECT MAX(LOG_CREATION_DATE),COL_A, COL_B
FROM IMPORT_LOG
GROUP BY TO_CHAR(LOG_CREATION_DATE, 'MM-DD-YYYY'),
COL_A,
COL_B
ORDER BY MAX(LOG_CREATION_DATE) DESC
;
記錄:
09-FEB-12 12.59.18.000000000 PM
09-FEB-12 12.41.42.000000000 PM
09-FEB-12 11.26.15.000000000 AM
09-FEB-12 11.26.00.000000000 AM
01-FEB-12 01.27.11.000000000 PM
01-FEB-12 01.25.18.000000000 PM
01-FEB-12 01.25.17.000000000 PM
01-FEB-12 01.24.36.000000000 PM
25-JAN-12 02.39.11.000000000 PM
25-JAN-12 02.32.05.000000000 PM
25-JAN-12 02.31.37.000000000 PM
25-JAN-12 02.31.34.000000000 PM
但是,當我更改查詢的格式相同的時間戳列,順序完全變爲:
02-09-2012 12:02:18
02-09-2012 12:02:42
02-09-2012 11:02:15
02-09-2012 11:02:00
02-01-2012 01:02:11
02-01-2012 01:02:18
02-01-2012 01:02:17
02-01-2012 01:02:36
01-25-2012 02:01:11
01-25-2012 02:01:05
01-25-2012 02:01:37
01-25-2012 02:01:34
更新查詢
SELECT TO_CHAR(MAX(LOG_CREATION_DATE), 'MM-DD-YYYY HH:MM:SS'),COL_A, COL_B
FROM IMPORT_LOG
GROUP BY TO_CHAR(LOG_CREATION_DATE, 'MM-DD-YYYY'),
COL_A,
COL_B
ORDER BY MAX(LOG_CREATION_DATE) DESC
;
爲什麼輸出改變了?
看起來它仍然按降序時間戳排序,而不是由字符表示形式(假設所有'02'分鐘都是錯字)。爲什麼你要在MDY上訂購你的結果? – 2012-02-15 23:16:49
'LOG_CREATION_DATE'是一個時間戳字段,排序不是由MDY完成的。 「所有'02分鐘'是什麼意思是一個錯字」? – 2012-02-15 23:19:41
沒有什麼是結果中的拼寫錯誤,而這正是我發佈它的原因。爲什麼TO_CHAR()會改變時間戳和排序? – 2012-02-15 23:25:14