sql >> Databasteknik >  >> RDS >> MariaDB

Subtrahera mikrosekunder från ett Datetime-värde i MariaDB

Här är några alternativ för att subtrahera en eller flera mikrosekunder från ett datetime-uttryck i MariaDB.

SUBTIME() Funktion

SUBTIME() subtraherar en given tidsperiod från ett värde för tid eller datum.

Exempel:

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

Resultat:

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

Du kan också ändra andra tidsenheter, såsom timmar, minuter, sekunder, etc.

DATE_SUB() Funktion

DATE_SUB() Med funktionen kan du subtrahera ett visst antal datum-/tidsenheter från ett datum- eller datumuttryck. Därför kan vi använda den här funktionen för att returnera datetime-värdet, minus ett visst antal mikrosekunder.

Exempel:

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

Resultat:

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

Observera att MICROSECOND nyckelord förblir icke-plural oavsett om du subtraherar en mikrosekund eller mer.

Passar Just the Date

Så här händer om vi bara anger ett datumvärde:

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

Resultat:

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

Det förutsätter att tiden börjar kl. 00:00:00, och därför MICROSECOND beloppet dras från det.

Subtraktionsoperatören (- )

Ett annat sätt att subtrahera en eller flera mikrosekunder från ett datetime-värde är att använda subtraktionsoperatorn (- ), även känd som minusoperatorn.

Exempel:

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

Resultat:

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

Tilläggsoperatören (+ )

Du kan alternativt använda additionsoperatorn (+ ) tillsammans med ett negativt belopp.

Exempel:

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

Resultat:

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

Andra sätt att subtrahera mikrosekunder

Här är några andra tillvägagångssätt som du kan använda för att subtrahera en eller flera mikrosekunder från ett datetime-värde:

  • SUBTIME() funktion.
  • ADDTIME() funktion (om du anger ett negativt belopp kommer det beloppet att subtraheras från datetime-värdet).
  • SUBDATE() funktion (detta är en synonym för DATE_SUB() när den används med samma syntax).
  • DATE_ADD() funktion (om du anger ett negativt belopp kommer det beloppet att subtraheras från datetime-värdet).
  • ADDDATE() funktion (om du anger ett negativt belopp kommer det beloppet att subtraheras från datetime-värdet).

  1. Hur Cosh() fungerar i PostgreSQL

  2. Använda DateTime i en SqlParameter för lagrad procedur, formatfel

  3. Lägg till en primärnyckel för automatisk ökning till befintlig tabell i Oracle

  4. Jag behöver min PHP-sida för att visa min BLOB-bild från mysql-databasen