Oracle中的时间戳排序顺序

时间:2011-01-12 11:56:32

标签: oracle sorting timestamp

按时间戳排序时,我注意到了一些奇怪的排序顺序。首先,它按时间戳的时间部分排序,然后,对于具有相同时间的记录,用于排序的日期。

对我来说,这看起来完全错了。有没有办法告诉Oracle按日期排序,然后按时间排序?

感谢。

字段定义为TIMESTAMP(6),没有时区。 这是排序结果:

10-JAN-11 11.18.36.368000000 AM
09-JAN-11 11.18.33.700000000 AM
08-JAN-11 11.18.33.704000000 AM
07-JAN-11 11.18.33.700000000 AM
06-JAN-11 11.17.40.705000000 AM
05-JAN-11 11.17.42.611000000 AM
04-JAN-11 11.17.40.723000000 AM
02-JAN-11 04.45.09.553000000 PM
01-JAN-11 04.45.08.447000000 PM
31-DEC-10 04.45.08.447000000 PM
30-DEC-10 04.35.22.153000000 PM
29-DEC-10 04.30.25.334000000 PM
12-JAN-11 12.00.00.000000000 AM
11-JAN-11 12.00.00.000000000 AM
10-JAN-11 12.00.00.000000000 AM
09-JAN-11 12.00.00.000000000 AM
08-JAN-11 12.00.00.000000000 AM
07-JAN-11 12.00.00.000000000 AM

以下是查询:

select period_end from table_name where entity_id=102167 order by period_end desc;

2 个答案:

答案 0 :(得分:8)

迪马,

您的时间戳格式显示时间戳的所有组成部分,除了一个:世纪。你的最后六行必须来自上个世纪。

的问候,
罗布。

答案 1 :(得分:0)

您可能有timestamp with timezone