本日から○日以内のレコードをセレクトしたいのですが
○日の部分が可変のためJavaのpreparedstatementを使用します。
例)
SELECT timedate FROM testtb WHERE timedate BETWEEN current_timestamp + '-30days' AND current_timestamp;
※timedateはDATE型です
のような事をしたいのですが、
「30」の部分を?にすると
The column index is out of range: 1, number of columns: 0エラーになります。
intervalの使用も考え色々調べていたのですが、いまいちやり方が分かりません。
何か方法をご存知の方、ご教授お願い致します。
No.1ベストアンサー
- 回答日時:
timedateはDATE型ということでしたら、整数の加減算は日単位なので、
SELECT timedate FROM testtb WHERE
timedate BETWEEN current_date - ? AND current_date;
ではいかがでしょうか。
参考までに、TIMESTAMP型の場合には
SELECT timedate FROM testtb WHERE
timedate BETWEEN current_timestamp - (? * interval '1days') AND current_timestamp;
のような書き方ができます。
参考URL:http://www.postgresql.jp/document/current/html/f …
ご回答ありがとうございました。
「整数の加算」という認識が抜けていましたため勉強不足でした事と
current_dateを使用した事がなく思いつきませんでした。
可変部をint型に置き換えた上で上記方法で実装できました。
大変助かりました、参考URLまでご提供いただきありがとうございました。
No.2
- 回答日時:
亀レスですが。
ps = conn.prepareStatement("SELECT timedate FROM testtb WHERE timedate BETWEEN current_timestamp + cast ( ? as interval ) AND current_timestamp");
ps.setString(1,"-30 days");
8..4だったらいけました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 "an amount of"の意味等について 2 2023/06/13 12:19
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- 英語 課題でこの英語の文章のSVOの分析や()等の括りを出されたため、できるだけ完璧にしたいのですが、自身 1 2022/12/16 13:29
- C言語・C++・C# [至急] Project Euler:#16 Power digit sumコード、入力、出力、解説 3 2022/09/24 02:35
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- 大学受験 英作文の添削をお願いしたいです。 2 2022/08/19 20:37
- 英語 L-PRF can be obtained by manual or automated metho 1 2022/04/08 09:39
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- 英語 Once upon a time, cash was king and credit cards, 3 2022/07/15 23:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
group byで指定したカラム以外...
-
SELECT INTOで一度に複数の変数...
-
今って秋田新幹線へ動いてますか?
-
フラグをたてるってどういうこ...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
-
テーブル名が可変の場合のクエ...
-
オラクルのUPDATEで複数テーブル
-
truncate tableを使って複数の...
-
PostgreSQLのtimestamp型で時間...
-
MySQLで数字の値のもののみを取...
-
既にテーブルが存在する場合の...
-
joinの場合のテーブル名の別名...
-
IDとパスワードについて。
-
SELECTした結果に行番号を求めたい
-
timestamp が空のデータを除い...
-
UPDATEで既存のレコードに文字...
-
ACCESSのVBAにてExcelに行...
-
Accessで最新のレコード...
-
T-SQLで任意の箇所で強制終了す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
group byで指定したカラム以外...
-
PostgresSQLでの動的な計算
-
1週間後の日付を求めたい
-
複数の条件での絞り込み検索の仕方
-
PHP+SQL在庫集計で在庫の累計が...
-
件数をカウントして日付でソー...
-
売り上げ集計SQLが作れません
-
日ごとの集計
-
UPDATE文で・・・・
-
Cは返して欲しくない
-
時間内かどうかの抽出
-
PostgresSQLで自動計算
-
日時の比較
-
検索条件の指定方法がわかりま...
-
○日以内のレコード取得について
-
POSTGRESQLでt時間差が30分以上...
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
おすすめ情報