MariaDBの日時式から1マイクロ秒以上を減算するためのいくつかのオプションを次に示します。
SUBTIME() 機能
SUBTIME() 時間または日時の値から指定された時間を減算します。
例:
SELECT SUBTIME('2021-05-01 10:00:00', '00:00:00.123456'); 結果:
+---------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 09:59:59.876544 |
+---------------------------------------------------+ 時間、分、秒など、他の時間単位を変更することもできます。
DATE_SUB() 機能
DATE_SUB() 関数を使用すると、日付または日時式から特定の数の日付/時刻単位を減算できます。したがって、この関数を使用して、特定のマイクロ秒数を引いた日時の値を返すことができます。
例:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND); 結果:
+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700 |
+-----------------------------------------------------------+
MICROSECONDに注意してください 1マイクロ秒以上減算しても、キーワードは複数形のままです。
日付だけを渡す
日付の値だけを指定すると、次のようになります。
SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND); 結果:
+------------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) |
+------------------------------------------------+
| 2021-04-30 23:59:59.999997 |
+------------------------------------------------+
時刻は00:00:00から始まると想定しているため、MICROSECOND そこから金額が差し引かれます。
減算演算子(- )
日時値から1マイクロ秒以上を減算する別の方法は、減算演算子(-)を使用することです。 )、マイナス演算子とも呼ばれます。
例:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND; 結果:
+-------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +-------------------------------------------------+
加算演算子(+ )
または、加算演算子(+)を使用することもできます。 )負の金額と一緒に。
例:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND; 結果:
+--------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +--------------------------------------------------+
マイクロ秒を減算する他の方法
日時の値から1マイクロ秒を引くために使用できる他のアプローチは次のとおりです。
-
SUBTIME()機能。 -
ADDTIME()関数(負の金額を指定すると、日時の値からその金額が差し引かれます)。 -
SUBDATE()関数(これはDATE_SUB()の同義語です 同じ構文で使用した場合) -
DATE_ADD()関数(負の金額を指定すると、日時の値からその金額が差し引かれます)。 -
ADDDATE()関数(負の金額を指定すると、日時の値からその金額が差し引かれます)。