回答編集履歴

2

追加

2017/06/12 03:47

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -39,3 +39,23 @@
39
39
  AND sum_year <= to_char(date '20100101' + INTERVAL '2 YEAR','YYYY')::int;
40
40
 
41
41
  ```
42
+
43
+ > 同じ具合で何か月後、何日後はsum_dateを使うべきでしょうか?
44
+
45
+
46
+
47
+ 日付に関する計算は、date属性を使った方が間違いが少なくて済みます。
48
+
49
+ 数値でも日付に変換すれば日付と同じ様に使えます。
50
+
51
+ ```sql
52
+
53
+ select * from t_sumlist
54
+
55
+ where sum_date=(sum_year ||'-'|| sum_month ||'-'|| sum_day)::date;
56
+
57
+ ```
58
+
59
+
60
+
61
+

1

変更

2017/06/12 03:46

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -18,7 +18,11 @@
18
18
 
19
19
 
20
20
 
21
- intervalをお使いになるならdate,timestampにしてあげればできます。
21
+ intervalをお使いになるならdate(YYYYMMDD),timestampにしてあげればできます。
22
+
23
+ intervalで2年後を作成後、年の部分だけ取り出してintにキャストしています。
24
+
25
+ 結果的には上と一緒になります。
22
26
 
23
27
  ```
24
28