在oracle中比较两次

时间:2011-11-02 10:26:41

标签: oracle date-arithmetic

在甲骨文中:

我的表格有一个时间戳列,时间值为'02 -NOV-11 12.00.00.000000000 AM'。

我试着比较两个日期:

select id from table1 where mytime = '02-NOV-11'

但它没有返回任何记录。为什么呢?

谢谢!

1 个答案:

答案 0 :(得分:6)

我怀疑它可能是导致问题的默认日期格式,因为查询对我来说很好。编写将日期与字符串进行比较的查询不是一个好习惯,因为这要求Oracle使用默认格式将字符串格式化为日期,这可能与您期望的不同。最好使用ANSI日期文字,如下所示:

select id from table1 where mytime = date '2011-11-02';

ANSI日期文字必须格式为date 'yyyy-mm-dd',因此格式没有歧义。

A reference for datetime literals

相关问题