sql >> Databasteknik >  >> RDS >> MariaDB

8 sätt att lägga till mikrosekunder till ett Datetime-värde i MariaDB

Om du behöver lägga till en eller flera mikrosekunder till ett datetime-värde i MariaDB finns här 8 alternativ att överväga.

DATE_ADD() Funktion

DATE_ADD() funktionen låter dig lägga till ett belopp till ett datum- eller datumtidsuttryck. Detta inkluderar att lägga till tidsdelar, såsom timmar, minuter, sekunder, mikrosekunder, etc.

Exempel:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND);

Resultat:

+----------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035                               |
+----------------------------------------------------------+

I det här fallet lade jag till 35 mikrosekunder till datetime-uttrycket. Observera att SECOND sökord förblir icke-plural oavsett om jag lägger till en sekund eller mer.

Du kanske också märker att mikrosekundersdelen inte var i mitt ursprungliga datetime-värde, men den lades till när jag lade till mikrosekunderna.

På liknande sätt, här är vad som händer om jag bara anger datumet:

SELECT DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND);

Resultat:

+-------------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND) |
+-------------------------------------------------+
| 2021-05-01 00:00:00.000035                      |
+-------------------------------------------------+

Tidsdelen läggs till resultatet och det antas att den initiala tiden var 00:00:00.000000 .

Du kan också använda en sammansatt datum/tidsenhet för att lägga till flera enheter. Om du till exempel vill lägga till 1 minut och 30 sekunder kan du göra så här:

SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND);

Resultat:

+---------------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND) |
+---------------------------------------------------------------------+
| 2021-05-01 10:00:01.300000                                          |
+---------------------------------------------------------------------+

Se MariaDB datum- och tidsenheter för en fullständig lista över datum-/tidsenheter.

ADDDATE() Funktion

Ett annat sätt att lägga till sekunder till ett datetime-uttryck är att använda ADDDATE() fungera. Denna funktion har två syntaxer:

  1. En syntax låter dig lägga till ett antal dagar till ett datum, vilket inte är vad vi gör här.
  2. Den andra syntaxen är densamma som med DATE_ADD() funktionen ovan. När du använder denna syntax, ADDDATE() är en synonym för DATE_ADD() .

Exempel:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND);

Resultat:

+---------------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+---------------------------------------------------------+
| 2021-05-01 10:00:00.000035                              |
+---------------------------------------------------------+

DATE_SUB() Funktion

DATE_SUB() funktionen låter dig subtrahera ett belopp för ett datum/datumtid-uttryck. Men om du anger ett negativt värde att subtrahera, slutar det med att det läggs till till datum/tid.

Exempel:

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

Resultat:

+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 10:00:00.000035                                |
+-----------------------------------------------------------+

SUBDATE() Funktion

SUBDATE() funktion är en synonym för DATE_SUB() när du använder följande syntax.

Exempel:

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND);

Resultat:

+----------------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035                               |
+----------------------------------------------------------+

+ Operatör

Ett annat alternativ är att använda + operatör.

+ operatorn används för att utföra tillägg, och vi kan använda den på datum, tillsammans med den tillämpliga datum-/tidsenheten för att lägga till ett visst antal mikrosekunder till vårt datum- och tidsuttryck.

Exempel:

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

Resultat:

+-------------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND |
+-------------------------------------------------+
| 2021-05-01 10:00:00.000035                      |
+-------------------------------------------------+

- Operatör

- operator kan användas för att subtrahera ett belopp från ett datum. Men om det används för att subtrahera ett negativt tal, blir resultatet ett positivt belopp som läggs till datum och tid uttrycket:

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

Resultat:

+--------------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -35 MICROSECOND |
+--------------------------------------------------+
| 2021-05-01 10:00:00.000035                       |
+--------------------------------------------------+

ADDTIME() Funktion

Du kan använda ADDTIME() funktion för att lägga till ett antal milsekunder till ett datum och tid uttryck.

Exempel:

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

Resultat:

+---------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 10:00:00.123456                        |
+---------------------------------------------------+

En fördel med den här funktionen är att du även kan ändra de andra tidsenheterna, såsom timmar, sekunder, etc.

SUBTIME() Funktion

Du kan alternativt växla runt det och använda SUBTIME() med ett negativt värde om du så önskar:

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 10:00:00.123456                         |
+----------------------------------------------------+

Andra datum- och tidsenheter

Exemplen ovan lägger till ett antal mikrosekunder till datetime-värdet, men vi kan använda samma teknik för att lägga till valfri datum/tidsenhet. Se MariaDB datum- och tidsenheter för en fullständig lista över datum-/tidsenheter som kan användas med ovanstående funktioner och operatorer.


  1. Skapa en tillplattad tabell/vy av en hierarkiskt definierad uppsättning data

  2. hur använder man xmltable i oracle?

  3. VÄNSTER JOIN endast första raden

  4. Hur INSTR()-funktionen fungerar i MySQL