sql >> Databasteknik >  >> RDS >> Mysql

TIMESTAMP() Exempel – MySQL

I MySQL, TIMESTAMP() funktion returnerar ett datetime-värde baserat på argumentet/argumenten som skickas in. Du kan ange ett argument eller två. Om du anger två läggs den andra till den första och resultatet returneras.

Syntax

Du kan använda någon av dessa två former:

TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)

Det första argumentet (expr och expr1 ) är ett uttryck för datum eller datum och tid. Det andra argumentet (expr2 ) är ett tidsuttryck. Om du anger två argument, expr2 läggs till i expr1 och resultatet är ett datetime-värde.

Exempel 1 – Ange ett "datum"-argument

I det här exemplet tillhandahåller jag ett datumuttryck.

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

Resultat:

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

Så resultatet är ett datetime-värde oavsett om vårt argument var ett datum- eller datetime-uttryck.

Exempel 2 – Ange ett "datetime"-argument

Och här är ett exempel med ett uttryck för datum och tid.

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

Resultat:

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

Exempel 3 – Inkludera bråkdelar av sekunder

Du kan också inkludera en del av bråkdelssekunder upp till mikrosekunder (6 siffror). När du gör detta kommer resultatet även att inkludera den delen.

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              |
+-----------------------------------------+

Exempel 4 – Att tillhandahålla 2 argument

Här är ett exempel med två argument. Som nämnts läggs den andra till den första.

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

Resultat:

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

Exempel 5 – Större "tid"-värden

Tidsdatatypen kan ha ett intervall från -838:59:59 till 838:59:59 . Detta beror på att det inte bara är begränsat till att representera tiden på dagen. Det kan också användas för att representera förfluten tid. I det här fallet använder vi det för att lägga till ett stort antal timmar till ett datumvärde.

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

Resultat:

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

Exempel 6 – Negativa värden

Du kan subtrahera det andra argumentet från det första genom att helt enkelt sätta ett minustecken före det andra värdet.

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

Resultat:

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

Exempel 7 – Använda det aktuella datumet

Om du vill ha en tidsstämpel som använder det aktuella datumet kanske du är mer intresserad av funktioner som NOW() , CURDATE() , och möjligen till och med SYSDATE() (för skillnaden, se SYSDATE() kontra NOW() ).

Men TIMESTAMP() funktion kan fortfarande vara din föredragna funktion i vissa fall, till exempel om du vill lägga till ett tidsvärde till det aktuella datumet.

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 använda TIMESTAMPADD() funktion för att lägga till en specificerad enhet till ett datum- eller datetime-värde. Denna funktion accepterar även enheter som dagar, månader, år etc.

Om du hittar TIMESTAMP() för restriktiv för dina behov, se TIMESTAMPADD() Exempel.


  1. Hur man beräknar genomsnittlig försäljning per dag i MySQL

  2. Hur ställer jag in sortering för en anslutning i SQL Server?

  3. Så här fixar du "Server är inte konfigurerad för DATAÅTKOMST" i SQL Server

  4. Hur man väljer ett kolumnnamn med ett mellanslag i MySQL