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

Sådan ændres Datetime-formater i MySQL

Problem:

Du vil gerne ændre formatet for dato- og tidsdata i en MySQL-database.

Eksempel:

Vores database har en tabel med navnet student_platform med data i kolonnerne id , first_name , last_name , og registration_datetime .

id fornavn efternavn registration_datetime
1 Lora Lorens 2019-02-23 12:04:23
2 Anne Smith 2018-07-10 10:12:15
3 Tom Jackson 2019-03-09 08:20:33
4 Richard Williams 2018-09-30 06:07:34

Lad os for hver elev få deres fornavn, efternavn og registreringsdato og -klokkeslæt. Vi ønsker dog at vise dato og klokkeslæt i følgende format:forkortet ugedagsnavn, komma, år, månedsnavn, dag i måneden og klokkeslættet i timer, minutter og sekunder. Det skulle se sådan ud:

Tue, 2019 February 17 11:18:55

Løsning:

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

SELECT first_name,
       last_name,
       DATE_FORMAT(registration_datetime,’%a, %Y %M %e %H:%i:%s’)
         AS format_registration_datetime
FROM student_platform;

Her er resultatet af forespørgslen:

fornavn efternavn format_registration_datetime
Lora Lorens Lør, 23. februar 2019 12:04:23
Anne Smith tirs 10. juli 2018 10:12:15
Tom Jackson Lør, 9. marts 2019 08:20:33
Richard Williams Mandag 30. september 2019 06:07:34

Diskussion:

I en MySQL-database giver DATE_FORMAT()-funktionen dig mulighed for at vise dato- og tidsdata i et ændret format.

Denne funktion tager to argumenter. Den første er den dato/datotid, der skal omformateres; dette kan være en dato/tid/datotid/tidsstempelkolonne eller et udtryk, der returnerer en værdi i en af ​​disse datatyper. (I vores eksempel bruger vi registration_datetime kolonne i datetime datatype.)

Det andet argument er en streng, der indeholder det ønskede dato- og tidsformat. MySQL stiller en række specifikationer til rådighed, såsom:

  • %a – Forkortet ugedagsnavn.
  • %Y – Årstal med 4 cifre.
  • %M – Månedens fulde navn.
  • %e – Dag i måneden (fra 1 – 31).
  • %H – Time (fra 00-23).
  • %i – Referat (fra 00-59).
  • %s – Sekunder (fra 00-59).

Du kan lære mere om dato- og tidsangivelser her i den officielle MySQL-dokumentation.

For eksempel Lora Lorens registreret '2019-02-23 12:04:23'. Nu har hendes registreringsdato og klokkeslæt det nye format "Lør, 23. februar 2019 12:04:23".


  1. Returner alle mulige kombinationer af værdier på kolonner i SQL

  2. Administration af høj tilgængelighed i PostgreSQL – Del II:Replikeringsmanager

  3. MySQL – Gendan tabt præstationsskemadatabase

  4. 2 måder at formatere dine forespørgselsresultater i SQLcl (Oracle)