プロが教えるわが家の防犯対策術!

いつもお世話になっております。

今、指定した年月までのデータを取得するSQL文を考えています。
例:NENGETSU_DATEカラムがDATE型で、
データとして、2008/11/12と、2008/11/18と、2008/12/12が入っているとして、11月だけのデータを取得したい。(今回は、2008/11/12と、2008/11/18を取得)


どのようなSQL文を書けばよろしいでしょうか。
よろしくお願いいたします。

A 回答 (2件)

日付のカラムに索引が付いているなら、日付項目を関数で加工すると索引が使われなくなります。


索引があるなら、右辺側で11月中かどうかの範囲指定をする方が合理的です。
where 日付 between to_date('2008/11/01','yyyy/mm/dd') and to_date('2008/11/30','yyyy/mm/dd');

日付のカラムに索引が付いていないなら、日付のカラムを関数で加工してもしなくても
変わらないので、#1さんのような書き方が簡単明瞭で良いかと思います。
    • good
    • 1

よくあるのは文字列に変換してしまう方法


to_char(NENGETSU_DATE, 'yyyy/mm') = '2008/11'
    • good
    • 5

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す