私は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';
6枚のレコードを取り戻しました!
フィルタリングの 2 つの方法は同等であるべきではありませんか? なぜそうではないのですか?そして、最初のレコードが 6 枚すべて食べられるのはなぜですか? これは、クエリを実行している oracle インストールの奇妙な構成に依存する可能性がありますか?