sql >> Database teknologi >  >> RDS >> Mysql

TIMESTAMP() Eksempler – MySQL

I MySQL er TIMESTAMP() funktion returnerer en datetime-værdi baseret på argumentet/de indgivne argumenter. Du kan angive et argument eller to. Hvis du angiver to, føjer den den anden til den første og returnerer resultatet.

Syntaks

Du kan bruge en af ​​disse to former:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

Det første argument (expr og expr1 ) er et dato- eller dato-tidsudtryk. Det andet argument (expr2 ) er et tidsudtryk. Hvis du angiver to argumenter, expr2 er tilføjet til expr1 og resultatet er en datetime-værdi.

Eksempel 1 – Angiv et "dato"-argument

I dette eksempel giver jeg et datoudtryk.

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

Resultat:

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

Så resultatet er en datetime-værdi, uanset om vores argument var et dato- eller datetime-udtryk.

Eksempel 2 – Angiv et 'datetime'-argument

Og her er et eksempel, der bruger et datetime-udtryk.

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

Resultat:

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

Eksempel 3 – Inkluder brøksekunder

Du kan også inkludere en brøkdel af sekunder op til mikrosekunder (6 cifre). Når du gør dette, vil resultatet også inkludere den del.

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

Resultat:

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

Eksempel 4 – Giver 2 argumenter

Her er et eksempel med to argumenter. Som nævnt bliver den anden tilføjet til den første.

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

Resultat:

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

Eksempel 5 – Større 'tids'-værdier

Tidsdatatypen kan have et område fra -838:59:59 til 838:59:59 . Dette skyldes, at det ikke kun er begrænset til at repræsentere tidspunktet på dagen. Det kan også bruges til at repræsentere forløbet tid. I dette tilfælde bruger vi det til at tilføje et stort antal timer til en datoværdi.

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

Resultat:

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

Eksempel 6 – Negative værdier

Du kan trække det andet argument fra det første ved blot at sætte et minustegn foran den anden værdi.

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

Resultat:

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

Eksempel 7 – Brug af den aktuelle dato

Hvis du vil have et tidsstempel, der bruger den aktuelle dato, er du måske mere interesseret i funktioner såsom NOW() , CURDATE() , og muligvis endda SYSDATE() (for forskellen, se SYSDATE() vs NOW() ).

Men TIMESTAMP() funktion kan stadig være din foretrukne funktion i visse tilfælde, for eksempel hvis du vil tilføje en tidsværdi til den aktuelle dato.

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

Resultat:

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

FUNKTIONEN TIMESTAMPADD()

Du kan bruge TIMESTAMPADD() funktion til at føje en specificeret enhed til en dato eller datetime værdi. Denne funktion accepterer også enheder som dage, måneder, år osv.

Hvis du finder TIMESTAMP() for restriktiv til dine behov, se TIMESTAMPADD() Eksempler.


  1. Undgå sorteringer med Merge Join-sammenkædning

  2. Gør tilføjelse af 'LIMIT 1' til MySQL-forespørgsler dem hurtigere, når du ved, at der kun vil være 1 resultat?

  3. mysql_num_rows():det leverede argument er ikke en gyldig MySQL resultatressource

  4. Indlejret PostgreSQL til Java JUnit-tests