Jak používat DATE_FORMAT v MySQL: Kompletní průvodce formátováním data a času

1. Před učením formátování data v MySQL: Základy

Správa datových hodnot typu datum v databázi hraje v každém systému klíčovou roli. V MySQL je důležité přesné ukládání a správné formátování. Zde představíme základy toho, jak jsou data ukládána a zobrazována, a vysvětlíme funkci DATE_FORMAT, která je užitečná pro formátování výstupů dat.

11 Datové typy pro datum v MySQL a jejich vlastnosti

MySQL poskytuje několik datových typů pro práci s daty a časy. Porozumění jejich použití vám pomůže vybrat ten správný typ a optimalizovat výkon databáze.

  • DATE – Ukládá datum ve formátu YYYY-MM-DD. Vhodné pro jednoduchá data jen s datem (např. narozeniny nebo termíny událostí). Příklad: 2024-10-19
  • DATETIME – Ukládá datum i čas ve formátu YYYY-MM-DD HH:MM:SS. Užitočné pro logy nebo záznamy, kde je potřeba čas. Příklad: 2024-10-19 15:30:45
  • TIMESTAMP – Ukládá data jako UNIX timestamp (počet sekund od 1. ledna 1970) a často se používá v systémech, které pracují napříč různými časovými pásmy. Aktuální timestamp můžete získat pomocí CURRENT_TIMESTAMP.

Výběr správného dat typu podle požadavků vaší aplikace je zásadní pro přesnost a efektivitu dotazů.

1.2 Rozdíl mezi uložením a zobrazením

Když MySQL ukládá datum, používá standardní formát. Uživatelé však často potřebují datum zobrazit čitelnějším nebo lokalizovaným způsobem. Zde přichází na řadu funkce DATE_FORMAT – umožňuje vám výstupní data zobrazit v libovolném formátu.

V další sekci se podíváme, jak DATE_FORMAT funguje a jak ji prakticky použít.

2. Základní použití funkce DATE_FORMAT

Funkce DATE_FORMAT slouží k formátování uložených dat do požadovaného výstupního formátu. Pomocí flexibilních formátovacích specifikátorů můžete datum zobrazit v různých stylech.

2.1 Syntaxe DATE_FORMAT

DATE_FORMAT(date, format)
  • date : Hodnota data, kterou chcete form (DATE, DATETIME, TIMESTAMP, atd.).
  • format : Řetězec, který určuje výstupní formát pomocí specifikátorů začínajících znakem %.

Například tento dotaz převede datum do formátu YYYY/MM/DD:

SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');

Výsledek:

2024/10/19

2.2 Časté formátovací specifikátory

Funkce DATE_FORMAT podporuje mnoho specifikátorů pro přizpůsobení výstupu data a času. Zde jsou některé běžně používané:

  • %Y : Čtyřciferný rok (např. 2024)
  • %m : Dvouciferný měsíc (01–12)
  • %d : Dvouciferný den (01–31)
  • %W : Název dne v týdnu (např. Saturday)
  • %H : Hodina ve 24‑hodinovém formátu (00–23)
  • %i : Minuty (00–59)
  • %s : Sekundy (00–59)

Například následující dotaz vypíše den v týdnu spolu s rokem, měsícem a dnem:

SELECT DATE_FORMAT('2024-10-19', '%W, %Y-%m-%d');

Výsledek:

Saturday, 2024-10-19

2.3 Výstup v japonském formátu

DATE_FORMAT můžete použít i pro lokalizované výstupy. Například tento dotaz vrátí datum v japonském formátu YYYY年MM月DD日:

SELECT DATE_FORMAT('2024-10-19', '%Y年%m月%d日');

Výsledek:

2024年10月19日

Tento formát se běžně používá v japonských zprávách, fakturách a oficiálních dokumentech.

3. Pokročilé techniky s DATE_FORMAT

DATE_FORMAT získává ještě větší sílu, když je kombinována s dalšími funkcemi MySQL. Podívejme se na několik užitečných technik pro práci s datumy.

3.1 Kombinace s dalšími datumovými funkcemi

DATE_FORMAT můžete kombinovat s funkcemi jako DATE_ADD a DATE_SUB pro dynamické výpočty dat.

Příklad: Přidat jeden měsíc k datu a formátovat výsledek
SELECT DATE_FORMAT(DATE_ADD('2024-10-19', INTERVAL 1 MONTH), '%Y-%m-%d');

Výsledek:

2024-11-19

To je užitečné při generování dynamických reportů a zpracování aktualizací založených na datech.

3.2 Použití s STR_TO_DATE

Funkce STR_TO_DATE převádí řetězec na datový typ datum. V kombinaci s DATE_FORMAT můžete řetězce převést na platná datumová data a následně je formátovat podle potřeby.

Příklad: Převod řetězce na datum a aplikace formátování
SELECT DATE_FORMAT(STR_TO_DATE('2024年10月19日', '%Y年%c月%e日'), '%Y/%m/%d');

Výsledek:

2024/10/19

To umožňuje zpracovávat složité datové hodnoty založené na řetězcích a formátovat je správně.

4. Běžné formáty dat v reálném světě

Zde jsou některé často používané formáty dat v podnikových a systémových aplikacích.

4.1 Datum se lomítky

SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');

Výsledek:

2024/10/19

Tento formát je široce používán ve webových formulářích a uživatelských rozhraních.

4.2 Formát ISO 8601

SELECT DATE_FORMAT('2024-10-19', '%Y-%m-%d');

Výsledek:

2024-10-19

ISO 8601 je mezinárodní standard a ideální pro výměnu dat mezi systémy.

4.3 Zobrazení názvu dne v týdnu a názvu měsíce

SELECT DATE_FORMAT('2024-10-19', '%M %W');

Výsledek:

October Saturday

To je užitečné pro plánování událostí a zobrazení kalendáře.

5. Závěr

Funkce DATE_FORMAT je výkonný nástroj pro flexibilní formátování dat v MySQL. Od jednoduchého formátování po pokročilé případy použití v kombinaci s jinými funkcemi je vysoce univerzální.

Pomocí funkcí jako STR_TO_DATE a DATE_ADD společně můžete dosáhnout ještě dynamičtějšího zpracování dat. Aplikujte techniky popsány v tomto článku pro efektivní správu dat a optimalizaci vašeho systému nebo aplikace.

Pokračujte v využívání funkcí MySQL k zlepšení operací databáze a budování rafinovanějších systémů.