Oracle 9iとOracle 11gのDATE型項目の検索結果の違いについて質問がありますでよろしくお願いいたします。
9iと11gのそれぞれに、売上げテーブル(URIAGE_TABLE)に、URIAGE_DTというDATE型の項目があります。
このテーブルをselectコマンドで確認したところ、9i、11gとも、06-04-01 の形式で格納されていました。
この状態で、URIAGE_DTが 06-01-01移行のデータを抽出するために以下のクエリ発行したところ、下記の結果になりました。
◆実行したクエリ
select URIAGE_DT from URIAGE_TABLE where uriage_dt >= '06/01/01'
◆9iの結果
ちゃんと検索できる。
06-04-04
1行が選択されました。
◆11gの結果
レコードが選択されませんでした。
◆質問1
11gで検索結果が0件になる理由は、データがYYYY-MM-DD形式であるのに対して、条件がYYYY/MM/DDが原因である事は
わかるのですが、なぜ9iでは検索できるのでしょうか?
◆質問2
11gで検索ができるようにするためには、プログラム中で、
TO_CHAR(URIAGE_DT, 'YY/MM/DD')
のように変換して検索すれば、ちゃんと検索出来る事は確認できたのですが、プログラム(C#.NET)を修正せずに
検索できるようにするにはどうすればよいでしょうか?