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'