重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります、

SQL文で以下の質問をさせてください。

(1).条件に合う日付を取得する方法
 具体的には、2001/07/17~2001/08/17の間のものを全て取得する。

(2).(1)の応用で2001/08/17以前のものを全て取得する。

(3).(1)の応用で2001/07/17以降のものを全て取得する。

です。WHERE条件にどのように記述すればよいのか教えてください。よろしくお願いします。

A 回答 (4件)

(1) WHERE hizuke BETWEEN TO_DATE('2001/07/17','YYYY/MM/DD) AND TO_DATE('2001/08/17','YYYY/MM/DD)



(2),(3)は応用ですし、下の方の書き方を参考にすればわかると思います。

明示的に指定しない場合は、暗黙の変換が行われます。
行われるルールについては、初期化パラメータなどに依存します。

詳しくはマニュアルSQLリファレンスの書式モデルとTO_DATE関数をご覧ください。
    • good
    • 0

データベースは何を用いてますか?


データベースによって若干日付型の表記方法が違う場合がありますし、条件と比較する対象のフィールドの型によっても違います。
フィールドの型が日付型なら、条件にたいして明示的に日付として指定してやらないと、OS(データベース)任せで変換させる事になり、期待通りの結果が得られない場合があります。(いわゆつ2001年問題とかです。2001年問題については詳しくは検索してください。)

この回答への補足

Oracle8.1.6です。フィールドはDate型です。

補足日時:2001/07/17 13:01
    • good
    • 0

すいません。


テーブル名でなく、フィールド名です。
    • good
    • 0

(1)


where テーブル名 Between '2001/07/17' AND '2001/08/17'
(2)
where テーブル名 < '2001/08/17'
(3)
where テーブル名 > '2001/07/17'

で、どうでしょ。
    • good
    • 0

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

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