sql >> Databasteknik >  >> RDS >> MariaDB

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

Här är några alternativ för att subtrahera en eller flera sekunder 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:30');

Resultat:

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

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

DATE_SUB() Funktion

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

Exempel:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND);

Resultat:

+-----------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 09:59:30                                 |
+-----------------------------------------------------+

Observera att SECOND sökord förblir icke-plural oavsett om du subtraherar en sekund eller mer.

Du kan också använda sammansatta datum- och tidsenheter. Du kan till exempel göra minuter och sekunder på en gång.

Exempel:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND);

Resultat:

+-----------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) |
+-----------------------------------------------------------------+
| 2021-05-01 09:44:30                                             |
+-----------------------------------------------------------------+

Passar Just the Date

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

SELECT DATE_SUB('2021-05-01', INTERVAL 30 SECOND);

Resultat:

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

Den förutsätter att tiden börjar kl. 00:00:00, och så SECOND beloppet dras från det.

Subtraktionsoperatören (- )

Ett annat sätt att subtrahera en eller flera sekunder 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 SECOND;

Resultat:

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

Tilläggsoperatören (+ )

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

Exempel:

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

Resultat:

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

Andra sätt att subtrahera sekunder

Här är några andra tillvägagångssätt som du kan använda för att subtrahera en eller flera sekunder 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 man kommer igång med SQL Server på Azure

  2. Hur konverterar man antal minuter till hh:mm-format i TSQL?

  3. Importera en CSV till MySQL med annat datumformat

  4. Få veckonummer från ett datum i PostgreSQL