MariaDBは、特定の日付に1年または特定の年数を追加するいくつかの方法を提供します。たとえば、1年、10年、30年などを追加したい場合があります。
MariaDBで日付に年を追加する6つの方法は次のとおりです。
DATE_ADD()
機能
DATE_ADD()
関数を使用すると、日付に金額を追加できます。たとえば、日数、週数、月数、年数などを追加できます。
例:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR);
結果:
+-----------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 1 YEAR) | +-----------------------------------------+ | 2022-05-01 | +-----------------------------------------+
1年しかできないというルールはありません。複数年を追加できます。いずれにせよ、 YEAR
キーワードは複数形のままです:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR);
結果:
+------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 10 YEAR) | +------------------------------------------+ | 2031-05-01 | +------------------------------------------+
その単位の適切な数で別の日付/時刻単位を使用することも可能です。ただし、このアプローチは予期しない結果を招く可能性があるため、注意して使用する必要があります。
例:
SELECT
DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years;
結果:
+------------+------------+------------+------------+ | Days | Weeks | Months | Years | +------------+------------+------------+------------+ | 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 | +------------+------------+------------+------------+
この場合、52週間を追加すると、365日、12か月、1年を使用した場合とは異なる結果になります。
日付を数年前に進めると、さらに矛盾が生じます:
SELECT
DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years;
結果:
+------------+------------+------------+------------+ | Days | Weeks | Months | Years | +------------+------------+------------+------------+ | 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 | +------------+------------+------------+------------+
今回はMONTH
を使用します およびYEAR
同じ結果を返しますが、 DAY
およびWEEK
2つの異なる日付を返します。どちらもMONTH
とは異なります。 およびYEAR
結果。
ADDDATE()
機能
日付に年を追加する別の方法は、 ADDDATE()
を使用することです。 働き。この関数には2つの構文があります。 1つの構文では、日付に日数を追加できます。その他の構文は、 DATE_ADD()
の場合と同じです。 上記の機能。この構文を使用する場合、 ADDDATE()
DATE_ADD()
の同義語です 。
例:
SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR);
結果:
+----------------------------------------+ | ADDDATE('2021-05-01', INTERVAL 1 YEAR) | +----------------------------------------+ | 2022-05-01 | +----------------------------------------+
DATE_SUB()
機能
DATE_SUB()
関数を使用すると、減算できます 日付への金額。ただし、減算する負の値を指定すると、加算されます。 日付まで。
例:
SELECT DATE_SUB('2021-05-01', INTERVAL -1 YEAR);
結果:
+------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL -1 YEAR) | +------------------------------------------+ | 2022-05-01 | +------------------------------------------+
SUBDATE()
機能
SUBDATE()
関数はDATE_SUB()
の同義語です 次の構文を使用する場合。
例:
SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR);
結果:
+-----------------------------------------+ | SUBDATE('2021-05-01', INTERVAL -1 YEAR) | +-----------------------------------------+ | 2022-05-01 | +-----------------------------------------+
+
オペレーター
別のオプションは、 +
を使用することです オペレーター。
+
演算子は加算を実行するために使用され、日付に使用して、該当する日付/時刻の単位とともに、日付に特定の年数を追加できます。
例:
SELECT '2021-05-01' + INTERVAL 1 YEAR;
結果:
+--------------------------------+ | '2021-05-01' + INTERVAL 1 YEAR | +--------------------------------+ | 2022-05-01 | +--------------------------------+
-コード> オペレーター
-コード> 演算子を使用して、日付から金額を減算できます。ただし、負の数を減算するために使用される場合、結果は日付に正の量が加算されます。
SELECT '2021-05-01' - INTERVAL -1 YEAR;
結果:
+---------------------------------+ | '2021-05-01' - INTERVAL -1 YEAR | +---------------------------------+ | 2022-05-01 | +---------------------------------+
その他の日付と時刻の単位
上記の例では、日付に年数を追加していますが、同じ手法を使用して任意の日付/時刻の単位を追加できます。上記の関数と演算子で使用できる日付/時刻単位の完全なリストについては、MariaDBの日付と時刻の単位を参照してください。