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

MariaDBの日時値から時間を差し引く方法

    MariaDBの日時値から1時間以上を引くためのいくつかのオプションがあります。

    SUBTIME() 機能

    SUBTIME() 時間または日時の値から指定された時間を減算します。

    例:

    SELECT SUBTIME('2021-05-01 10:00:00', '01:00:00');

    結果:

    +--------------------------------------------+
    | SUBTIME('2021-05-01 10:00:00', '01:00:00') |
    +--------------------------------------------+
    | 2021-05-01 09:00:00                        |
    +--------------------------------------------+

    分、秒などの他の時間単位を変更することもできます。

    DATE_SUB() 機能

    DATE_SUB() 関数を使用すると、日付または日時式から特定の数の日付/時刻単位を減算できます。したがって、この関数を使用して、特定の時間数を引いた日時の値を返すことができます。

    例:

    SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR);

    結果:

    +--------------------------------------------------+
    | DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
    +--------------------------------------------------+
    | 2021-05-01 09:00:00                              |
    +--------------------------------------------------+

    日付と時刻の複合単位を使用することもできます。たとえば、何時間も何分も一度に行うことができます。

    例:

    SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE);

    結果:

    +---------------------------------------------------------------+
    | DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE) |
    +---------------------------------------------------------------+
    | 2021-04-30 18:30:00                                           |
    +---------------------------------------------------------------+

    日付だけを渡す

    日付の値だけを指定すると、次のようになります。

    SELECT DATE_SUB('2021-05-01', INTERVAL 1 HOUR);

    結果:

    +-----------------------------------------+
    | DATE_SUB('2021-05-01', INTERVAL 1 HOUR) |
    +-----------------------------------------+
    | 2021-04-30 23:00:00                     |
    +-----------------------------------------+

    時刻は00:00:00から始まると想定しているため、HOUR そこから金額が差し引かれます。

    複数時間

    1時間以上引く必要がある場合は、1の代わりにその数値を使用してください 。ただし、HOUR キーワードは関係なく複数形のままです:

    SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR);

    結果:

    +--------------------------------------------------+
    | DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR) |
    +--------------------------------------------------+
    | 2021-05-01 08:00:00                              |
    +--------------------------------------------------+

    減算演算子(-

    日時式から時間を減算する別の方法は、減算演算子(-)を使用することです。 )、マイナス演算子とも呼ばれます。

    例:

    SELECT '2021-05-01 10:00:00' - INTERVAL 48 HOUR;

    結果:

    +------------------------------------------+
    | '2021-05-01 10:00:00' - INTERVAL 48 HOUR |
    +------------------------------------------+
    | 2021-04-29 10:00:00                      |
    +------------------------------------------+

    加算演算子(+

    または、加算演算子(+)を使用することもできます。 )負の金額と一緒に。

    例:

    SELECT '2021-05-01 10:00:00' + INTERVAL -48 HOUR;

    結果:

    +-------------------------------------------+
    | '2021-05-01 10:00:00' + INTERVAL -48 HOUR |
    +-------------------------------------------+
    | 2021-04-29 10:00:00                       |
    +-------------------------------------------+

    時間を差し引く他の方法

    日時の値から1時間以上を引くために使用できる他のアプローチは次のとおりです。

    • ADDTIME() 関数(負の金額を指定すると、日時の値からその金額が差し引かれます)。
    • SUBDATE() 関数(これはDATE_SUB()の同義語です 同じ構文で使用した場合)
    • DATE_ADD() 関数(負の金額を指定すると、日時の値からその金額が差し引かれます)。
    • ADDDATE() 関数(負の金額を指定すると、日時の値からその金額が差し引かれます)。

    1. SQLServerの重複キー更新に関するMySQLと同等

    2. WHEREIN句のパラメータをPDOにバインドする

    3. 初心者向けのSQLSUM()

    4. @@ IDENTITYを使用して、SQLServerで最後に挿入されたID値を返します