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の日付と時刻の単位を参照してください。