SQL 期間中のデータ取得 between
2010/12/14
指定日から7日前までの間のデータが欲しいとき。
betweenを使う。
- between 3 and 6
上記だと3~6。欲しいのは日付なのでdate()で指定。
- between date(‘2010-12-07’) and date(‘2010-12-14’)
これでも良いんだけど7日間とか30日間とかする場合、日付の計算が面倒。
- between date(‘2010-12-14’)-6 and date(‘2010-12-14’)
上記のようにすると「’2010-12-14’の7日前から’2010-12-14’」となる。
date()はその日を含むから「-6」で7日前。
例えば、テーブル名が[dateTable]で、[date]に日付がある場合に「2010-12-14」から1週間前まで欲しいときは下記。
- select * from [dateTable] where
- [date] between date(‘2010-12-14’)-6 and date(‘2010-12-14’);