MariaDB
 sql >> Database >  >> RDS >> MariaDB

Sottrai microsecondi da un valore DateTime in MariaDB

Ecco alcune opzioni per sottrarre uno o più microsecondi da un'espressione datetime in MariaDB.

Il SUBTIME() Funzione

Il SUBTIME() sottrae una determinata quantità di tempo da un valore di ora o data e ora.

Esempio:

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

Risultato:

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

Puoi anche modificare le altre unità di tempo, come ore, minuti, secondi, ecc.

Il DATE_SUB() Funzione

Il DATE_SUB() La funzione consente di sottrarre un certo numero di unità di data/ora da un'espressione di data o ora. Pertanto possiamo utilizzare questa funzione per restituire il valore datetime, meno un certo numero di microsecondi.

Esempio:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);

Risultato:

+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700                                |
+-----------------------------------------------------------+

Nota che il MICROSECOND la parola chiave rimane non plurale indipendentemente dal fatto che tu sottragga un microsecondo o più.

Passando solo la data

Ecco cosa succede se forniamo solo un valore di data:

SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND);

Risultato:

+------------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) |
+------------------------------------------------+
| 2021-04-30 23:59:59.999997                     |
+------------------------------------------------+

Presuppone che l'ora inizi alle 00:00:00, e quindi il MICROSECOND l'importo viene sottratto da quello.

L'operatore di sottrazione (- )

Un altro modo per sottrarre uno o più microsecondi da un valore datetime consiste nell'utilizzare l'operatore di sottrazione (- ), noto anche come operatore meno.

Esempio:

SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND;

Risultato:

+-------------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND |
+-------------------------------------------------+
| 2021-05-01 09:59:59.999970                      |
+-------------------------------------------------+

L'operatore di addizione (+ )

In alternativa puoi utilizzare l'operatore di addizione (+ ) insieme a un importo negativo.

Esempio:

SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND;

Risultato:

+--------------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND |
+--------------------------------------------------+
| 2021-05-01 09:59:59.999970                       |
+--------------------------------------------------+

Altri modi per sottrarre microsecondi

Ecco alcuni altri approcci che potresti utilizzare per sottrarre uno o più microsecondi da un valore datetime:

  • Il SUBTIME() funzione.
  • Il ADDTIME() funzione (fornire un importo negativo sottrarrà tale importo dal valore datetime).
  • Il SUBDATE() funzione (questo è un sinonimo di DATE_SUB() se utilizzato con la stessa sintassi).
  • Il DATE_ADD() funzione (fornire un importo negativo sottrarrà tale importo dal valore datetime).
  • Il ADDDATE() funzione (fornire un importo negativo sottrarrà tale importo dal valore datetime).