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

Sådan får du datoen fra en Datetime-kolonne i MySQL

Problem:

Du vil gerne hente datoen fra en dato- og tidskolonne i en MySQL-database.

Eksempel:

Vores database har en tabel ved navn travel med data i kolonnerne id , first_name , last_name , og timestamp_of_booking .

id fornavn efternavn tidsstempel_for_booking
1 Lisa Watson 2019-04-20 14:15:34
2 Tom Smith 2019-03-31 20:10:14
3 Andy Markus 2019-08-03 10:05:45
4 Alice Brun 2019-07-01 12:47:54

Lad os for hver rejsende få kun deres for- og efternavn og reservationsdatoen . (Bemærk:timestamp_of_booking kolonne indeholder både dato- og tidsdata.)

Løsning:

Vi bruger DATE() fungere. Her er den forespørgsel, du ville skrive:

SELECT first_name,
       last_name,
       DATE(timestamp_of_booking) 
         AS  date_of_booking
FROM travel;

Her er resultatet af forespørgslen:

fornavn efternavn bookingsdato
Lisa Watson 2019-04-20
Tom Smith 2019-03-31
Andy Markus 2019-08-03
Alice Brun 2019-07-01

Diskussion:

I MySQL skal du bruge DATE()-funktionen til at hente datoen fra en datetime- eller tidsstempelværdi. Denne funktion tager kun ét argument – ​​enten et udtryk, der returnerer en dato/dato/tidsstempelværdi eller navnet på en tidsstempel/datotid-kolonne. (I vores eksempel bruger vi en kolonne med tidsstemplet datatype.)

Funktionen DATE() returnerer kun datooplysningerne. I vores eksempel returnerer det "2019-03-31" for Tom Smiths booking dato. Bemærk, at tidsoplysningerne ikke er inkluderet.


  1. Fremmednøglebegrænsning kan forårsage cyklusser eller flere kaskadestier?

  2. Henter Lås ventetimeout overskredet; prøv at genstarte transaktionen, selvom jeg ikke bruger en transaktion

  3. Sådan tjekker du din MySQL-version

  4. dvale dialekt for oracle 12c