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 diDATE_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).