inu回答ポイント 300ptウォッチ

こんにちは。

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)を修正せずに
検索できるようにするにはどうすればよいでしょうか?

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する
回答がありません

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2013-12-25 14:09:39
終了日時
2014-01-01 14:10:03
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

C#561Oracle321クエリ503DD15911g23プログラム5048レコード916

人気の質問

メニュー

PC版