sql >> Database >  >> RDS >> MariaDB

8 manieren om microseconden toe te voegen aan een datetime-waarde in MariaDB

Als u een of meer microseconden moet toevoegen aan een datetime-waarde in MariaDB, zijn hier 8 opties om te overwegen.

De DATE_ADD() Functie

De DATE_ADD() Met deze functie kunt u een bedrag toevoegen aan een datum- of datetime-expressie. Dit omvat het toevoegen van tijddelen, zoals uren, minuten, seconden, microseconden, enz.

Voorbeeld:

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

Resultaat:

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

In dit geval heb ik 35 microseconden toegevoegd aan de datetime-expressie. Merk op dat de SECOND zoekwoord blijft niet-meervoud, ongeacht of ik een seconde of meer toevoeg.

Het is je misschien ook opgevallen dat het gedeelte met microseconden niet in mijn oorspronkelijke datetime-waarde stond, maar het werd toegevoegd toen ik de microseconden had toegevoegd.

In dezelfde lijn, dit is wat er gebeurt als ik alleen de datum geef:

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

Resultaat:

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

Het tijdsdeel wordt toegevoegd aan het resultaat en er wordt aangenomen dat de initiële tijd 00:00:00.000000 was .

U kunt ook een samengestelde datum/tijd-eenheid gebruiken om meerdere eenheden toe te voegen. Als u bijvoorbeeld 1 minuut en 30 seconden wilt toevoegen, kunt u dit doen:

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

Resultaat:

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

Zie MariaDB-datum- en tijdseenheden voor een volledige lijst met datum-/tijdseenheden.

De ADDDATE() Functie

Een andere manier om seconden toe te voegen aan een datetime-expressie is door de ADDDATE() . te gebruiken functie. Deze functie heeft twee syntaxis:

  1. Met één syntaxis kun je een aantal dagen aan een datum toevoegen, wat we hier niet doen.
  2. De andere syntaxis is hetzelfde als bij de DATE_ADD() functie hierboven. Bij gebruik van deze syntaxis, ADDDATE() is een synoniem voor DATE_ADD() .

Voorbeeld:

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

Resultaat:

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

De DATE_SUB() Functie

De DATE_SUB() functie stelt u in staat om af te trekken een bedrag naar een datum/datum/tijd-expressie. Als u echter een negatieve waarde opgeeft om af te trekken, wordt deze uiteindelijk opgeteld naar de datum/tijd.

Voorbeeld:

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

Resultaat:

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

De SUBDATE() Functie

De SUBDATE() functie is een synoniem voor DATE_SUB() bij gebruik van de volgende syntaxis.

Voorbeeld:

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

Resultaat:

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

De + Operator

Een andere optie is om de + . te gebruiken exploitant.

De + operator wordt gebruikt om optellen uit te voeren, en we kunnen het gebruiken op datums, samen met de toepasselijke datum/tijd-eenheid om een ​​bepaald aantal microseconden toe te voegen aan onze datetime-expressie.

Voorbeeld:

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

Resultaat:

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

De - Operator

De - operator kan worden gebruikt om een ​​bedrag van een datum af te trekken. Maar als het wordt gebruikt om een ​​negatief getal af te trekken, dan is het resultaat dat een positief bedrag wordt toegevoegd aan de datetime-expressie:

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

Resultaat:

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

De ADDTIME() Functie

U kunt de ADDTIME() . gebruiken functie om een ​​aantal milliseconden toe te voegen aan een datetime-expressie.

Voorbeeld:

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

Resultaat:

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

Een voordeel van deze functie is dat u ook de andere tijdseenheden, zoals uren, seconden, enz. kunt wijzigen.

De SUBTIME() Functie

Je kunt het ook omdraaien en SUBTIME() . gebruiken met een negatieve waarde als je dat wilt:

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

Resultaat:

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

Andere datum- en tijdseenheden

De bovenstaande voorbeelden voegen een aantal microseconden toe aan de datetime-waarde, maar we kunnen dezelfde technieken gebruiken om elke datum/tijd-eenheid toe te voegen. Zie MariaDB-datum- en tijdseenheden voor een volledige lijst van datum-/tijdseenheden die kunnen worden gebruikt met de bovenstaande functies en operators.


  1. Ik probeer een bestand te kopiëren, maar krijg een foutmelding

  2. Vind de lengte van de langste rij in een kolom in orakel

  3. Gebruik NEWSEQUENTIALID() om een ​​oplopende GUID te maken in SQL Server

  4. UNIX_TIMESTAMP() Voorbeelden – MySQL