MariaDBは、日付の算術演算を実行するいくつかの方法を提供します。これには、特定の日付から1か月(または数か月)を加算または減算することが含まれます。
MariaDBで日付に月を追加する6つの方法は次のとおりです。
ボーナスアップデート :この記事の最後に、日付に月を追加する7番目の方法を追加しました。つまり、MariaDBで日付に月を追加する方法は7つあると思います🙂
DATE_ADD()
機能
DATE_ADD()
関数を使用すると、日付に金額を追加できます。たとえば、日数、週数、月数、年数などを追加できます。
例:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 MONTH);
結果:
+------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 1 MONTH) | +------------------------------------------+ | 2021-06-01 | +------------------------------------------+
1か月以上追加する必要がある場合は、 1
の代わりにその番号を使用してください 。ただし、 MONTH
キーワードは関係なく複数形のままです:
SELECT DATE_ADD('2021-05-01', INTERVAL 2 MONTH);
結果:
+------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 2 MONTH) | +------------------------------------------+ | 2021-07-01 | +------------------------------------------+
その単位の適切な数で別の日付/時刻単位を使用することも可能です。したがって、30日や31日など、特定の日数を指定できます。
例:
SELECT DATE_ADD('2021-05-01', INTERVAL 31 DAY);
結果:
+-----------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 31 DAY) | +-----------------------------------------+ | 2021-06-01 | +-----------------------------------------+
日を使用する場合、正確に1か月になるかどうかは、問題の月によって異なります。上記の例では、30日を提供できたはずですが、それでも同じ月に収まります。
SELECT DATE_ADD('2021-05-01', INTERVAL 30 DAY);
結果:
+-----------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 30 DAY) | +-----------------------------------------+ | 2021-05-31 | +-----------------------------------------+
したがって、実際に1か月を追加したい場合は、 MONTH
ユニットは、追加する日数を計算するよりもはるかに簡単です。
ADDDATE()
機能
日付に月を追加する別の方法は、 ADDDATE()
を使用することです。 働き。この関数には2つの構文があります。 1つの構文では、日付に日数を追加できます。その他の構文は、 DATE_ADD()
の場合と同じです。 上記の機能。この構文を使用する場合、 ADDDATE()
DATE_ADD()
の同義語です 。
例:
SELECT ADDDATE('2021-05-01', INTERVAL 1 MONTH);
結果:
+-----------------------------------------+ | ADDDATE('2021-05-01', INTERVAL 1 MONTH) | +-----------------------------------------+ | 2021-06-01 | +-----------------------------------------+
DATE_SUB()
機能
DATE_SUB()
関数を使用すると、減算できます 日付への金額。ただし、減算する負の値を指定すると、加算されます。 日付まで。
例:
SELECT DATE_SUB('2021-05-01', INTERVAL -1 MONTH);
結果:
+-------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL -1 MONTH) | +-------------------------------------------+ | 2021-06-01 | +-------------------------------------------+
SUBDATE()
機能
SUBDATE()
関数はDATE_SUB()
の同義語です 次の構文を使用する場合。
例:
SELECT SUBDATE('2021-05-01', INTERVAL -1 MONTH);
結果:
+------------------------------------------+ | SUBDATE('2021-05-01', INTERVAL -1 MONTH) | +------------------------------------------+ | 2021-06-01 | +------------------------------------------+
+
オペレーター
別のオプションは、 +
を使用することです オペレーター。
+
演算子は加算を実行するために使用されます。これを日付に使用し、該当する日付/時刻の単位を使用して、日付に特定の月数を追加できます。
例:
SELECT '2021-05-01' + INTERVAL 1 MONTH;
結果:
+---------------------------------+ | '2021-05-01' + INTERVAL 1 MONTH | +---------------------------------+ | 2021-06-01 | +---------------------------------+
-コード> オペレーター
-コード> 演算子を使用して、日付から金額を減算できます。ただし、負の数を減算するために使用される場合、結果は日付に正の量が加算されます。
SELECT '2021-05-01' - INTERVAL -1 MONTH;
結果:
+----------------------------------+ | '2021-05-01' - INTERVAL -1 MONTH | +----------------------------------+ | 2021-06-01 | +----------------------------------+
ボーナス: ADD_MONTHS()
機能
この記事を最初に書いたときから、日付に月を追加するための新しい関数がMariaDBに導入されました。
この関数はADD_MONTHS()
と呼ばれます 、およびOracleの互換性を強化するためにMariaDB10.6.1で導入されました。
したがって、この記事は日付に月を追加する7つの方法…と呼ばれるべきだと思います。 🙂
例:
SELECT ADD_MONTHS('2020-01-01', 3);
結果:
+-----------------------------+ | ADD_MONTHS('2020-01-01', 3) | +-----------------------------+ | 2020-04-01 | +-----------------------------+
その他の日付と時刻の単位
上記の例では、日付に月数が追加されていますが、同じ手法を使用して任意の日付/時刻の単位を追加できます。上記の関数と演算子で使用できる日付/時刻単位の完全なリストについては、MariaDBの日付と時刻の単位を参照してください。