回答編集履歴

2

修正

2017/06/12 02:37

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ```SQL
28
28
 
29
- -- 2ヶ月間
29
+ -- 3ヶ月間
30
30
 
31
31
  WHERE sum_date between '2010-10-31' and (date '2016-10-31' + INTERVAL '3 MONTH')::date;
32
32
 

1

追記から

2017/06/12 02:37

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -11,3 +11,33 @@
11
11
  WHERE sum_date between '2010-10-31' and (date '2016-10-31' + INTERVAL '2 YEAR')::date;
12
12
 
13
13
  ```
14
+
15
+
16
+
17
+ # 追記を受けて
18
+
19
+
20
+
21
+ 日付の計算は型がdateやtimestampなど決まっていれば、正しく指定すればプログラム側が上手いことやってくれます(特異な場合はある程度調整が必要ですが)
22
+
23
+ date型でデータをおさめているのであればdate型を使った方がすっきり組めることが多いと思いますよ。
24
+
25
+
26
+
27
+ ```SQL
28
+
29
+ -- 2ヶ月間
30
+
31
+ WHERE sum_date between '2010-10-31' and (date '2016-10-31' + INTERVAL '3 MONTH')::date;
32
+
33
+ -- 10日間
34
+
35
+ WHERE sum_date between '2010-10-31' and (date '2016-10-31' + INTERVAL '10 DAYS')::date;
36
+
37
+ ```
38
+
39
+
40
+
41
+
42
+
43
+