我在 Oracle 数据库上,以下查询:
select codi_belf, data_elab,id_inte,anno from mimsspam_tab where id_inte = 504;
检索 6 条记录
E924 05-AGO-15 504 2015 D458 05-AGO-15 504 2015 D458 05-AGO-15 504 2015 B275 05-AGO-15 504 2015 E924 05-AGO-15 504 2015 B275 05-AGO-15 504 2015
其中“data_elab”是 DATE 类型的字段,AGO 只是 AUG 的意大利语言环境。
我尝试像这样按日期过滤:
select codi_belf, data_elab,id_inte,anno
from mimsspam_tab where id_inte = 504
and data_elab = TO_DATE('05/08/2015','dd/MM/yyyy');
我没有得到任何结果..
此外,如果我以这种方式过滤:
select codi_belf, data_elab,id_inte,anno
from mimsspam_tab where id_inte = 504
and TO_CHAR(data_elab,'dd/MM/yyyy')='05/08/2015';
我拿回了我的六张唱片!
两种过滤方式不应该是等价的吗?为什么他们不是?为什么第一个吃掉了我所有的六张唱片?这可能取决于我要查询的 oracle 安装的奇怪配置吗?