sql >> Databáze >  >> RDS >> Mysql

Jak změnit formát data a času v MySQL

Problém:

Chcete změnit formát dat data a času v databázi MySQL.

Příklad:

Naše databáze má tabulku s názvem student_platform s údaji ve sloupcích id , first_name , last_name a registration_datetime .

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

U každého studenta získáme jeho jméno, příjmení a datum a čas registrace. Chceme však zobrazit datum a čas v následujícím formátu:zkrácený název dne v týdnu, čárka, rok, název měsíce, den v měsíci a čas v hodinách, minutách a sekundách. Mělo by to vypadat takto:

Tue, 2019 February 17 11:18:55

Řešení:

Použijeme DATE_FORMAT() funkce. Zde je dotaz, který byste napsali:

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

Zde je výsledek dotazu:

first_name last_name format_registration_datetime
Lora Lorens So, 23. února 2019 12:04:23
Anne Smith Út, 10. července 2018 10:12:15
Tome Jackson So, 9. března 2019 08:20:33
Richard Williams Po, 2019 30. září 06:07:34

Diskuse:

V databázi MySQL vám funkce DATE_FORMAT() umožňuje zobrazit data a času ve změněném formátu.

Tato funkce má dva argumenty. První je datum/čas, který se má přeformátovat; může to být sloupec datum/čas/datum/čas/časové razítko nebo výraz vracející hodnotu v jednom z těchto datových typů. (V našem příkladu používáme registration_datetime sloupec datetime datový typ.)

Druhý argument je řetězec obsahující požadovaný formát data a času. MySQL zpřístupňuje řadu specifikátorů, například:

  • %a – Zkrácený název dne v týdnu.
  • %Y – Rok ve 4 číslicích.
  • %M – Celé jméno měsíce.
  • %e – Den v měsíci (od 1 do 31).
  • %H – Hodina (od 00 do 23).
  • %i – Minuty (od 00 do 59).
  • %s – Sekundy (od 00 do 59).

Více o specifikátorech data a času se můžete dozvědět zde, v oficiální dokumentaci MySQL.

Například Lora Lorens registrován dne ‚2019-02-23 12:04:23‘. Nyní má datum a čas její registrace nový formát „So, 2019 February 23 12:04:23“.


  1. Bitmapy v dávkovém režimu na serveru SQL

  2. Ukládání JSON v databázi vs. mít nový sloupec pro každý klíč

  3. Jak získat rozdíl mezi dvěma řádky pro sloupcové pole?

  4. Upgrade vaší databáze na PostgreSQL verze 10 – Co byste měli vědět