前提
PostgreSQLで構築したデータベースがあります。
実現したいこと
SQLを使用して、生年月日を基に65才に到達する年月日を取得したいです。
この時、生年月日がうるう年のひとは、65才に到達する年月日を2/28ではなく3/1にしたいです。
(例)
1980/01/01 → 2045/01/01
1980/02/29 → 2045/03/01
発生している問題・エラーメッセージ
うるう年を考慮した年月日を取得する方法がわかりません。
生年月日がうるう年の場合、65才到達時の年月日が、3/1ではなく2/28になってしまいます。
該当のSQL
65年後を求めればよいかと思い、下記のSQLを作りました
SELECT
TO_DATE('19800101', 'YYYYMMDD') + CAST('65 years' AS INTERVAL) AS NENGAPPI1,
TO_DATE('19800229', 'YYYYMMDD') + CAST('65 years' AS INTERVAL) AS NENGAPPI2
実行結果
実行結果は下記の通りです。
nengappi1 | nengappi2 |
---|---|
2045/01/01 0:00:00 | 2045/02/28 0:00:00 |
うるう年を意識した年齢到達日を取得するにはどうすればいいでしょうか。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。