我正在尝试按降序排序。我已使用TO_CHAR函数从其日期(带有子午线指示器)的12小时中提取时间。但是,我的结果并不理想-我的PM中混入了AM。
这是我的查询:
SELECT TO_CHAR(SAMPLETIME, 'HH:MI:SS AM') AS Time_Checked
ORDER BY Time_Checked DESC;
这是我得到的结果的一个示例:
Time Checked
-------------
12:56:24 PM
12:56:24 PM
12:56:24 PM
12:56:24 PM
12:56:24 PM
12:56:24 PM
12:56:24 AM
12:56:24 AM
12:56:24 AM
12:56:24 AM
12:56:24 AM
12:56:24 AM
12:51:28 PM
12:51:28 PM
12:51:28 PM
12:51:28 PM
12:51:28 PM
12:51:28 PM
12:51:24 AM
12:51:24 AM
12:51:24 AM
12:51:24 AM
12:51:24 AM
12:51:24 AM
我希望重复的时间,因为它来自对滞后时间进行连续检查的数据库。它给了我相等数量的AM和PM。我希望样本结果仅在PM中,因为我是在下午进行的。
关于为什么发生这种情况的任何想法?当我更改为24小时后,效果很好。
答案 0 :(得分:5)
因为您要对字符串而不是日期进行排序。
SELECT TO_CHAR(SAMPLETIME, 'HH:MI:SS AM') AS Time_Checked
ORDER BY SAMPLETIME DESC;