【发布时间】:2016-12-07 21:29:45
【问题描述】:
这个sql有什么问题?
这给了我 0 个结果:
Select * from DOC where CREATION_TIME > to_TIMESTAMP('01-Jan-69 11.59.16 AM','dd-Mon-YY HH12.mi.ss.FF3AM');
当我运行它时:
Select * from DOC where CREATION_TIME > '01-JAN-69 11.59.16.000000000 AM';
我得到的结果很好。表模式设置为 CREATION_TIME 作为 Timestamp 类型,格式在第二个查询中看到。
【问题讨论】:
-
明智的做法是使用
to_timestamp()而不要依赖隐式转换(最多50% 的时间正确)。不要让这个事件(“Y2K 问题”)阻止您使用最佳实践,即按照您的尝试使用to_timestamp()。这是编写查询的正确方法。