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ů.


