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

MariaDBでのADDTIME()のしくみ

    MariaDBでは、ADDTIME() は、時刻または日時式に金額を追加する組み込みの日時関数です。

    これにより、その式を渡すことによって時刻または日時式を変更したり、その式に追加する時刻式を変更したりできます。時間式から減算する必要がある場合は、負の量を渡すことができます。

    構文

    構文は次のようになります:

    ADDTIME(expr1,expr2)

    ここで、expr1 は時刻または日時の式であり、expr2 時間表現です。

    次に例を示します:

    SELECT ADDTIME('10:00:00', '02:30:45');

    結果:

    +---------------------------------+
    | ADDTIME('10:00:00', '02:30:45') |
    +---------------------------------+
    | 12:30:45                        |
    +---------------------------------+

    日時式

    最初の引数は日時式にすることもできます:

    SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45');

    結果:

    +--------------------------------------------+
    | ADDTIME('2021-05-01 10:00:00', '22:30:45') |
    +--------------------------------------------+
    | 2021-05-02 08:30:45                        |
    +--------------------------------------------+

    この場合、追加された時間は日付を翌日に進めるのに十分であり、これは結果に反映されます。

    ルーザー形式の時間式

    MariaDBでは、先行ゼロを削除したり、その日の値を提供したりするなど、より緩い形式で時間を割り当てることができます。

    したがって、これを行うことができます:

    SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

    結果:

    +----------------------------------------------------+
    | ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
    +----------------------------------------------------+
    | 2022-05-02 11:01:01.123456                         |
    +----------------------------------------------------+

    負の間隔

    日の部分に負の間隔を指定すると、時刻/日時からその量が差し引かれます。

    例:

    SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

    結果:

    +-----------------------------------------------------+
    | ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
    +-----------------------------------------------------+
    | 2020-04-30 08:58:58.876544                          |
    +-----------------------------------------------------+

    ヌル引数

    引数がnullの場合 、結果はnullです :

    SELECT 
        ADDTIME('10:00:00', null),
        ADDTIME(null, '02:30:45'),
        ADDTIME(null, null);

    結果:

    +---------------------------+---------------------------+---------------------+
    | ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) |
    +---------------------------+---------------------------+---------------------+
    | NULL                      | NULL                      | NULL                |
    +---------------------------+---------------------------+---------------------+

    引数がありません

    ADDTIME()を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:

    SELECT ADDTIME();

    結果:

    ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'

    1. SQLServerのメッセージ241「文字列から日付や時刻を変換するときに変換に失敗しました」を修正

    2. Pythonを使用してPostgreSQLクエリをcsvファイルにエクスポートする

    3. SSISパッケージを使用してXMLファイルをデータベースにロードする方法は?

    4. MySQL:LOAD DATALOCALINFILEを有効にする