DBからの値抽出について質問させてください。
- やりたいこと
javaファイル内でSQL文を使用したSQLServerからのデータ抽出
- DB情報
このテーブルのflgは営業日を表しており、"1"が営業日、"0"が休業日としています。
seq | years_months | dates | flg |
---|---|---|---|
1 | 201808 | 26 | 0 |
2 | 201808 | 27 | 1 |
3 | 201808 | 28 | 1 |
4 | 201808 | 29 | 1 |
5 | 201808 | 30 | 1 |
6 | 201808 | 31 | 1 |
7 | 201809 | 1 | 0 |
- 抽出条件
実行日付を起点として
flg="1"の場合のみ取得し、3営業日後を出力する変数に入れる。
※本日(8/27)の場合、201808,30を取得する
この場合のSELECT文は、
Java
1// 現在時刻取得 2Date date = new Date(); 3SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); 4String yyyymm ; 5int yyyy = Integer.parseInt(sdf.format(date).substring(0,4)); 6int mm = Integer.parseInt(sdf.format(date).substring(4,6)); 7int dd = Integer.parseInt(sdf.format(date).substring(6,8)); 8 9SELECT MC.seq,MC.years_months,MC.dates,MC.flg FROM mst_calendar MC WHERE MC.flg=="1";
のようにするのかなと考えました。
- 詰まっているところ
上記の場合、
①flg="1"の場合のみ取得し、3営業日後の日付
②実行日付(現在日付)を起点とする
という抽出条件に沿うことができないと考えています。
現在日付をとりあえずint で指定した変数に入れることは考えましたが、
これをSELECT文の中のWHEREに入れることは可能でしょうか。
また、3営業日後の日付を取得するためにSELECT した回数をCOUNTするには、
どのように記述するべきでしょうか。
回答2件
あなたの回答
tips
プレビュー