sql >> Database >  >> RDS >> Mysql

TIMESTAMP() Voorbeelden – MySQL

In MySQL is de TIMESTAMP() functie retourneert een datetime-waarde op basis van de ingevoerde argumenten. U kunt één of twee argumenten opgeven. Als u er twee opgeeft, wordt de tweede bij de eerste opgeteld en wordt het resultaat geretourneerd.

Syntaxis

U kunt een van deze twee vormen gebruiken:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

Het eerste argument (expr en expr1 ) is een datum- of datetime-expressie. Het tweede argument (expr2 ) is een tijduitdrukking. Als u twee argumenten opgeeft, expr2 is toegevoegd aan expr1 en het resultaat is een datetime-waarde.

Voorbeeld 1 – Geef een 'datum'-argument op

In dit voorbeeld geef ik een datumuitdrukking op.

SELECT TIMESTAMP('1999-12-31');

Resultaat:

+-------------------------+
| TIMESTAMP('1999-12-31') |
+-------------------------+
| 1999-12-31 00:00:00     |
+-------------------------+

Het resultaat is dus een datetime-waarde, ongeacht of ons argument een date- of datetime-expressie was.

Voorbeeld 2 – Geef een ‘datetime’-argument op

En hier is een voorbeeld waarin een datetime-expressie wordt gebruikt.

SELECT TIMESTAMP('1999-12-31 23:59:59');

Resultaat:

+----------------------------------+
| TIMESTAMP('1999-12-31 23:59:59') |
+----------------------------------+
| 1999-12-31 23:59:59              |
+----------------------------------+

Voorbeeld 3 – Voeg fractionele seconden toe

U kunt ook een deel van een fractie van een seconde tot microseconden (6 cijfers) opnemen. Als je dit doet, zal het resultaat ook dat deel bevatten.

SELECT TIMESTAMP('1999-12-31 23:59:59.999999');

Resultaat:

+-----------------------------------------+
| TIMESTAMP('1999-12-31 23:59:59.999999') |
+-----------------------------------------+
| 1999-12-31 23:59:59.999999              |
+-----------------------------------------+

Voorbeeld 4 – 2 argumenten geven

Hier is een voorbeeld met twee argumenten. Zoals gezegd, wordt de tweede toegevoegd aan de eerste.

SELECT TIMESTAMP('1999-12-31', '12:30:45');

Resultaat:

+-------------------------------------+
| TIMESTAMP('1999-12-31', '12:30:45') |
+-------------------------------------+
| 1999-12-31 12:30:45                 |
+-------------------------------------+

Voorbeeld 5 – Grotere ‘tijd’-waarden

Het tijdgegevenstype kan een bereik hebben van -838:59:59 naar 838:59:59 . Dit komt omdat het niet alleen beperkt is tot het weergeven van de tijd van de dag. Het kan ook worden gebruikt om de verstreken tijd weer te geven. In dit geval gebruiken we het om een ​​groot aantal uren op te tellen bij een datumwaarde.

SELECT TIMESTAMP('1999-12-31', '400:30:45');

Resultaat:

+--------------------------------------+
| TIMESTAMP('1999-12-31', '400:30:45') |
+--------------------------------------+
| 2000-01-16 16:30:45                  |
+--------------------------------------+

Voorbeeld 6 – Negatieve waarden

Je kunt het tweede argument van het eerste aftrekken, simpelweg door de tweede waarde vooraf te laten gaan door een minteken.

SELECT TIMESTAMP('1999-12-31', '-400:30:45');

Resultaat:

+---------------------------------------+
| TIMESTAMP('1999-12-31', '-400:30:45') |
+---------------------------------------+
| 1999-12-14 07:29:15                   |
+---------------------------------------+

Voorbeeld 7 – De huidige datum gebruiken

Als je een tijdstempel wilt dat de huidige datum gebruikt, ben je misschien meer geïnteresseerd in functies zoals NOW() , CURDATE() , en mogelijk zelfs SYSDATE() (voor het verschil, zie SYSDATE() vs NOW() ).

Echter, de TIMESTAMP() functie kan in bepaalde gevallen nog steeds uw voorkeursfunctie zijn, bijvoorbeeld als u een tijdwaarde aan de huidige datum wilt toevoegen.

SELECT 
    TIMESTAMP(CURDATE()) AS 'Today',
    TIMESTAMP(CURDATE(), '24:00:00') AS 'Tomorrow';

Resultaat:

+---------------------+---------------------+
| Today               | Tomorrow            |
+---------------------+---------------------+
| 2018-07-03 00:00:00 | 2018-07-04 00:00:00 |
+---------------------+---------------------+

De TIMESTAMPADD()-functie

U kunt de TIMESTAMPADD() . gebruiken functie om een ​​gespecificeerde eenheid toe te voegen aan een datum- of datetime-waarde. Deze functie accepteert ook eenheden zoals dagen, maanden, jaren enz.

Als u TIMESTAMP() . vindt te beperkend voor uw behoeften, zie TIMESTAMPADD() Voorbeelden.


  1. Hoe schrijf je een REST API?

  2. SQL Group BY, Top N Items voor elke groep

  3. Postgres:controleer of het matrixveld waarde bevat?

  4. Evolutie van fouttolerantie in PostgreSQL:replicatiefase