月31日1日後の日は何ですか.月31日までの1ヶ月ですか?いろいろなRDBSでチェックしました.
31/1に、このようなメッセージを読むとき、あなたはすぐに何の日か考えることができますか?
「登録日の1ヶ月後に期限が切れる」と述べた.
また、次のメッセージは31/3ですか?
「1ヶ月分の通知がされます.」
私はこれを調べました、しかし、私は法的規定または国際規則を見つけることができませんでした.
そこで、様々なRDBSで研究することにしました.
試してみました. MySQL PostgreSQL SQLサーバ のオラクル すべてのRDBS結果は同じでした.
内容
結果
28/1後1ヶ月
28/2
29/1後1ヶ月
28/2
30分の1の後の1ヵ月
28/2
31/1後1ヶ月
28/2
28/3以前の1ヶ月
28/2
29/3前1ヶ月
28/2
30/3前1ヶ月
28/2
31/3以前の1ヶ月
28/2
28/1(閏年)後1ヶ月
28/2
29/1(閏年)後1ヶ月
29/2
30/1(閏年)後1ヶ月
29/2
31/1(閏年)後1ヶ月
29/2
28/3(閏年)前1ヶ月
28/2
29/3(閏年)前1ヶ月
29/2
30/3(閏年)前1ヶ月
29/2
31/3(閏年)前1ヶ月
29/2
バージョン5.7
Ver : 9.6
Ver : 14.0
Ver : 11 G
有効期限を通知する場合は、“データ保持期間は90日”などの月の代わりに日を使用する方が良いかもしれません.
「登録日の1ヶ月後に期限が切れる」と述べた.
また、次のメッセージは31/3ですか?
「1ヶ月分の通知がされます.」
私はこれを調べました、しかし、私は法的規定または国際規則を見つけることができませんでした.
そこで、様々なRDBSで研究することにしました.
試してみました.
結果
内容
結果
28/1後1ヶ月
28/2
29/1後1ヶ月
28/2
30分の1の後の1ヵ月
28/2
31/1後1ヶ月
28/2
28/3以前の1ヶ月
28/2
29/3前1ヶ月
28/2
30/3前1ヶ月
28/2
31/3以前の1ヶ月
28/2
28/1(閏年)後1ヶ月
28/2
29/1(閏年)後1ヶ月
29/2
30/1(閏年)後1ヶ月
29/2
31/1(閏年)後1ヶ月
29/2
28/3(閏年)前1ヶ月
28/2
29/3(閏年)前1ヶ月
29/2
30/3(閏年)前1ヶ月
29/2
31/3(閏年)前1ヶ月
29/2
SQL 声明
MySQL
バージョン5.7
SELECT
DATE_ADD(CAST('2018/01/28' AS DATE), INTERVAL 1 MONTH) AS "1 month after 28/1"
,DATE_ADD(CAST('2018/01/29' AS DATE), INTERVAL 1 MONTH) AS "1 month after 29/1"
,DATE_ADD(CAST('2018/01/30' AS DATE), INTERVAL 1 MONTH) AS "1 month after 30/1"
,DATE_ADD(CAST('2018/01/31' AS DATE), INTERVAL 1 MONTH) AS "1 month after 31/1"
,DATE_ADD(CAST('2018/03/28' AS DATE), INTERVAL -1 MONTH) AS "1 month before 28/3"
,DATE_ADD(CAST('2018/03/29' AS DATE), INTERVAL -1 MONTH) AS "1 month before 29/3"
,DATE_ADD(CAST('2018/03/30' AS DATE), INTERVAL -1 MONTH) AS "1 month before 30/3"
,DATE_ADD(CAST('2018/03/31' AS DATE), INTERVAL -1 MONTH) AS "1 month before 31/3"
,DATE_ADD(CAST('2020/01/28' AS DATE), INTERVAL 1 MONTH) AS "1 month after 28/1(leap year)"
,DATE_ADD(CAST('2020/01/29' AS DATE), INTERVAL 1 MONTH) AS "1 month after 29/1(leap year)"
,DATE_ADD(CAST('2020/01/30' AS DATE), INTERVAL 1 MONTH) AS "1 month after 30/1(leap year)"
,DATE_ADD(CAST('2020/01/31' AS DATE), INTERVAL 1 MONTH) AS "1 month after 31/1(leap year)"
,DATE_ADD(CAST('2020/03/28' AS DATE), INTERVAL -1 MONTH) AS "1 month before 28/3(leap year)"
,DATE_ADD(CAST('2020/03/29' AS DATE), INTERVAL -1 MONTH) AS "1 month before 29/3(leap year)"
,DATE_ADD(CAST('2020/03/30' AS DATE), INTERVAL -1 MONTH) AS "1 month before 30/3(leap year)"
,DATE_ADD(CAST('2020/03/31' AS DATE), INTERVAL -1 MONTH) AS "1 month before 31/3(leap year)"
PostgreSQL
Ver : 9.6
SELECT
CAST('2018/01/28' AS DATE) + interval '1 months' AS "1 month after 28/1"
,CAST('2018/01/29' AS DATE) + interval '1 months' AS "1 month after 29/1"
,CAST('2018/01/30' AS DATE) + interval '1 months' AS "1 month after 30/1"
,CAST('2018/01/31' AS DATE) + interval '1 months' AS "1 month after 31/1"
,CAST('2018/03/28' AS DATE) + interval '-1 months' AS "1 month before 28/3"
,CAST('2018/03/29' AS DATE) + interval '-1 months' AS "1 month before 29/3"
,CAST('2018/03/30' AS DATE) + interval '-1 months' AS "1 month before 30/3"
,CAST('2018/03/31' AS DATE) + interval '-1 months' AS "1 month before 31/3"
,CAST('2020/01/28' AS DATE) + interval '1 months' AS "1 month after 28/1(leap year)"
,CAST('2020/01/29' AS DATE) + interval '1 months' AS "1 month after 29/1(leap year)"
,CAST('2020/01/30' AS DATE) + interval '1 months' AS "1 month after 30/1(leap year)"
,CAST('2020/01/31' AS DATE) + interval '1 months' AS "1 month after 31/1(leap year)"
,CAST('2020/03/28' AS DATE) + interval '-1 months' AS "1 month before 28/3(leap year)"
,CAST('2020/03/29' AS DATE) + interval '-1 months' AS "1 month before 29/3(leap year)"
,CAST('2020/03/30' AS DATE) + interval '-1 months' AS "1 month before 30/3(leap year)"
,CAST('2020/03/31' AS DATE) + interval '-1 months' AS "1 month before 31/3(leap year)"
SQL Server
Ver : 14.0
SELECT
DATEADD(MONTH, 1, CAST('2018/01/28' AS DATE)) AS "1 month after 28/1"
,DATEADD(MONTH, 1, CAST('2018/01/29' AS DATE)) AS "1 month after 29/1"
,DATEADD(MONTH, 1, CAST('2018/01/30' AS DATE)) AS "1 month after 30/1"
,DATEADD(MONTH, 1, CAST('2018/01/31' AS DATE)) AS "1 month after 31/1"
,DATEADD(MONTH, -1, CAST('2018/03/28' AS DATE)) AS "1 month before 28/3"
,DATEADD(MONTH, -1, CAST('2018/03/29' AS DATE)) AS "1 month before 29/3"
,DATEADD(MONTH, -1, CAST('2018/03/30' AS DATE)) AS "1 month before 30/3"
,DATEADD(MONTH, -1, CAST('2018/03/31' AS DATE)) AS "1 month before 31/3"
,DATEADD(MONTH, 1, CAST('2020/01/28' AS DATE)) AS "1 month after 28/1(leap year)"
,DATEADD(MONTH, 1, CAST('2020/01/29' AS DATE)) AS "1 month after 29/1(leap year)"
,DATEADD(MONTH, 1, CAST('2020/01/30' AS DATE)) AS "1 month after 30/1(leap year)"
,DATEADD(MONTH, 1, CAST('2020/01/31' AS DATE)) AS "1 month after 31/1(leap year)"
,DATEADD(MONTH, -1, CAST('2020/03/28' AS DATE)) AS "1 month before 28/3(leap year)"
,DATEADD(MONTH, -1, CAST('2020/03/29' AS DATE)) AS "1 month before 29/3(leap year)"
,DATEADD(MONTH, -1, CAST('2020/03/30' AS DATE)) AS "1 month before 30/3(leap year)"
,DATEADD(MONTH, -1, CAST('2020/03/31' AS DATE)) AS "1 month before 31/3(leap year)"
oracle
Ver : 11 G
SELECT
ADD_MONTHS(TO_DATE('2018/01/28'), 1) AS "1 month after 28/1"
,ADD_MONTHS(TO_DATE('2018/01/29'), 1) AS "1 month after 29/1"
,ADD_MONTHS(TO_DATE('2018/01/30'), 1) AS "1 month after 30/1"
,ADD_MONTHS(TO_DATE('2018/01/31'), 1) AS "1 month after 31/1"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "1 month before 28/3"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "1 month before 29/3"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "1 month before 30/3"
,ADD_MONTHS(TO_DATE('2018/03/31'), -1) AS "1 month before 31/3"
,ADD_MONTHS(TO_DATE('2020/01/28'), 1) AS "1 month after 28/1(leap year)"
,ADD_MONTHS(TO_DATE('2020/01/29'), 1) AS "1 month after 29/1(leap year)"
,ADD_MONTHS(TO_DATE('2020/01/30'), 1) AS "1 month after 30/1(leap year)"
,ADD_MONTHS(TO_DATE('2020/01/31'), 1) AS "1 month after 31/1(leap year)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "1 month before 28/3(leap year)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "1 month before 29/3(leap year)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "1 month before 30/3(leap year)"
,ADD_MONTHS(TO_DATE('2020/03/31'), -1) AS "1 month before 31/3(leap year)"
FROM
DUAL
エキストラ
有効期限を通知する場合は、“データ保持期間は90日”などの月の代わりに日を使用する方が良いかもしれません.
Reference
この問題について(月31日1日後の日は何ですか.月31日までの1ヶ月ですか?いろいろなRDBSでチェックしました.), 我々は、より多くの情報をここで見つけました https://dev.to/kakisoft/what-day-is-one-month-after-31st-january-what-day-is-one-month-before-31st-march-i-checked-it-with-various-rdbs-4j5kテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol