
いつもお世話になっております。
現在PL/SQLでデータの抽出を行う課題に
取り組んでいるのですが、
期間を指定してデータを取り出す際に
期間はパラメータで渡すのですが、
【例】
2009/1/1~2009/6/30と指定された場合、
日付変数 BETWEEN 20090101 AND 20090630
上期のですと、6/30の0時0分0秒までですよね?
これを6/30 23時59分59秒まで出力するためには
どうしたらよいでしょうか?
ちなみに、日付変数には年月日時分秒で入っていて、
期間の指定は出力の際にYYYYMMDDで指定することに
なっています。
終了を2009/7/1で指定して1秒引くのかなとも
思ったのですが、できれば、指定された
日付のみを使って抽出ができればと思っています。
もし何か方法がありましたら、教えていただけないでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
trunc(日付変数) BETWEEN 20090101 AND 20090630
これが希望の答えではありませんか?
No.1の方も同じことを示唆していると思います。
ただし、この条件句ではパフォーマンスが悪くなることがあります。
丁寧なご説明ありがとうございます。
No.1の方に教えていただいたURLを読んで
日付変数 BETWEEN start AND trunc(end)
とやっておりました。
初心者なので、分かりやすく教えていただき
本当に助かりました。ありがとうございます。
No.3
- 回答日時:
時間を除く日付での範囲条件を書くなら、
where trunc(日付変数) between to_date(start,'yyyymmdd') and to_date(end,'yyyymmdd');
と書くのが適切かと思いますよ。
DATE型に、数値や文字列の定数や変数を比較させると暗黙の型変換が行われますので、場合によっては誤動作の種になります。
No.1
- 回答日時:
>日付変数
上記はDATE型のことですよね。
こういう場合は以下URLのようにします。
ききたいのはこのことですよね?
http://itpro.nikkeibp.co.jp/article/COLUMN/20060 …
この回答への補足
教えていただいたURLはすでに見ていたのですが、
探しているものと少し違いました。
パラメータを使うので、
:
WHERE 日付変数 BETWEEN start AND end;
と指定して、
EXECUTE('20090101','20090630')と入力して実行しています。
URLのを参考に
WHERE 日付変数 BETWEEN start AND trunc(end);
としましたが、2009-06-30 23:59:59は出力されませんでした。
No.2の方に細かく説明していただき
結果が無事出力されました。
初心者なので、理解が不十分で
『少し違いました』などと勘違いをしてしまい
申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
重複するIDのデータを1行にま...
-
日数算出SQL
-
SQLで部分的にGROUP BYしたいとき
-
Accessの数値から時間に変換す...
-
日付を表示形式で戻すSQL文を書...
-
今日の日付が入った行のデータ...
-
SELECT結果の縦と横の入れ替え
-
Excelグラフの日付軸の日付がず...
-
4バイトの日付データを、16進数...
-
日付書式に変換でこまっています!
-
Exel関数で誕生日がきたら...
-
Oracle10gのsql分についての質...
-
エクセルと日付の関数と並び替え
-
日付の切り出し方法について
-
Accessのマクロでモジュールを...
-
ODBCリンクの際にACCESSでは読...
-
callで順に実行されるプロシー...
-
Statement ignored というエラー
-
sqlplusでヘッダーが付かない
-
キャッシュを使わずにSELECTを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessの数値から時間に変換す...
-
SQLで部分的にGROUP BYしたいとき
-
重複するIDのデータを1行にま...
-
今日の日付が入った行のデータ...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
SQLサーバで和暦から西暦に変換...
-
oracle 文字列 01:45 を時間に...
-
テーブルの主キーをdate型...
-
日付書式に変換でこまっています!
-
日付型なら変数の先頭になん...
-
Excelグラフの日付軸の日付がず...
-
wordの差し込み印刷での日付表示
-
WHERE句にて「30日前から今日ま...
-
エクセル 日付による並べ替え...
-
SQL/Loaderでの年月日時分秒の...
-
DB2のSQL(日付)について
-
日付時刻+連番の主キーをSQLだ...
-
SQL ブレーク処理について
-
Exel関数で誕生日がきたら...
-
VBAについて
おすすめ情報