sql >> データベース >  >> RDS >> MariaDB

MariaDBで日付に月を追加する6つの方法

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


    1. WordPressとNginx、MariaDB 10、PHP7をDebian9にインストールします

    2. Oracleでチェック制約を使用する方法

    3. PostgreSQLのパフォーマンスをベンチマークする方法

    4. T-SQLのバグ、落とし穴、およびベストプラクティス–結合