Kuidas kasutada MySQL DATE_FORMAT funktsiooni: Kuupäevade ja aegade vormindamine lihtsaks

1. Sissejuhatus

MySQL andmebaasides tuleb sageli töötada kuupäeva ja kellaaja andmetega. Kuupäevad salvestatakse andmebaasis standardses formaadis, kuid kasutajale kuvamisel on tihti soov muuta neid loetavamaks. Siin tulebki appi DATE_FORMAT funktsioon. Käesolevas artiklis tutvustame DATE_FORMAT funktsiooni kasutamist, erinevaid vormindusvõimalusi ning toome praktilisi näiteid selle rakendamiseks.

2. DATE_FORMAT funktsiooni ülevaade

2.1 Mis on DATE_FORMAT funktsioon?

DATE_FORMAT funktsioon võimaldab MySQL-is muuta kuupäevaandmed soovitud vormingusse. Selle asemel, et kasutada vaikimisi YYYY-MM-DD või ajatempli formaati, saab kuupäeva kuvada just sellises vormingus, nagu vaja. Näiteks, kui soovite kuvada kuupäeva kujul “2024. aasta 16. september”, on see funktsioon väga kasulik.

2.2 Põhisüntaks

DATE_FORMAT funktsiooni põhisüntaks on järgmine:

DATE_FORMAT(date, format)
  • date: Kuupäeva andmed, mille vormingut soovite muuta.
  • format: Vormingustring, mis määrab, kuidas kuupäev kuvatakse.

Vaatame konkreetset näidet:

SELECT DATE_FORMAT('2024-09-16', '%Y年%m月%d日') AS formatted_date;

See päring teisendab kuupäeva ‘2024-09-16’ kujule „2024年09月16日“.

3. Kuupäeva vormingu parameetrid

3.1 Vormingukoodide loetelu

DATE_FORMAT funktsioon toetab mitmeid vormingukoodi. Siin on peamised:

  • %Y: 4-kohaline aasta (nt 2024)
  • %y: 2-kohaline aasta (nt 24)
  • %m: 2-kohaline kuu (01 kuni 12)
  • %c: Kuu (1 kuni 12)
  • %d: 2-kohaline päev (01 kuni 31)
  • %e: Päev (1 kuni 31)
  • %H: Tund 24-tunnises formaadis (00 kuni 23)
  • %h või %I: Tund 12-tunnises formaadis (01 kuni 12)
  • %i: Minutid (00 kuni 59)
  • %s: Sekundid (00 kuni 59)
  • %p: AM või PM

3.2 Praktilised näited

Vaatame, kuidas need koodid töötavad reaalses kasutuses:

SELECT 
    DATE_FORMAT('2024-09-16 14:35:59', '%Y-%m-%d %H:%i:%s') AS full_format,
    DATE_FORMAT('2024-09-16 14:35:59', '%Y年%m月%d日') AS japanese_format,
    DATE_FORMAT('2024-09-16 14:35:59', '%d/%m/%Y') AS european_format,
    DATE_FORMAT('2024-09-16 14:35:59', '%h:%i %p') AS twelve_hour_format;

Selle päringu tulemused on järgmised:

  • full_format: 2024-09-16 14:35:59
  • japanese_format: 2024年09月16日
  • european_format: 16/09/2024
  • twelve_hour_format: 02:35 PM

4. Praktilised kasutusnäited

4.1 Stsenaarium 1: Aruannete genereerimine

Näiteks ettevõttes võib vaja minna igakuise aruande koostamisel kuupäeva kuvamist vormingus “YYYY年MM月”. Järgmine päring lahendab selle ülesande:

SELECT 
    DATE_FORMAT(sale_date, '%Y年%m月') AS report_month,
    SUM(sales) AS total_sales
FROM sales_data
GROUP BY report_month;

See päring tagastab müügiandmetest iga kuu kogumüügi, näiteks kujul „2024年09月”.

4.2 Stsenaarium 2: Kasutajaliides

Kui soovite veebirakenduses kuvada kasutajale kuupäevi arusaadavas vormis, on DATE_FORMAT suurepärane abimees. Näiteks kasutajaprofiili lehel viimase sisselogimise aja näitamiseks:

SELECT 
    user_name,
    DATE_FORMAT(last_login, '%Y/%m/%d %H:%i') AS last_login_formatted
FROM users;

See tagab, et kasutaja viimase sisselogimise aeg kuvatakse näiteks kujul „2024/09/16 14:35”.

4.3 Stsenaarium 3: Päringu optimeerimine

DATE_FORMAT võib olla kasulik ka päringute optimeerimisel, kui tuleb välja võtta andmeid kindla kuupäevavahemiku kohta:

SELECT 
    *
FROM transactions
WHERE DATE_FORMAT(transaction_date, '%Y-%m') = '2024-09';

See päring tagastab kõik tehingud, mis toimusid 2024. aasta septembris.

5. DATE_FORMAT-i kasutamisel tähelepanu vajavad punktid ja parimad praktikad

5.1 Jõudluse kaalutlused

Kui DATE_FORMAT funktsiooni kasutatakse sageli suurte andmehulkadega, võib see mõjutada jõudlust. Vajadusel kaaluda eelnevalt vormindatud kuupäevade salvestamist või vormindamist rakenduse tasemel.

5.2 Lokaliseerimine

Mitmekeelse süsteemi loomisel tuleb arvestada, et kuupäevade vormingud erinevad riigiti ja regiooniti. Oluline on kuupäeva vormingut muuta vastavalt kasutaja lokaadile.

5.3 Vormingu järjepidevus

Ühtne kuupäevavorming kogu süsteemis parandab kasutajakogemust. Näiteks sisestusvormides, kuvamisel ja aruannetes tuleks kasutada sama vormingut, et vältida segadust.

6. Kokkuvõte

DATE_FORMAT funktsioon on MySQL-is võimas vahend kuupäevade paindlikuks vormindamiseks. Oleme käsitlenud nii põhilist kasutamist, praktilisi näiteid kui ka olulisi tähelepanekuid ja parimaid tavasid. Selle funktsiooni kasutamine muudab kuupäevade kuvamise kasutajale mugavamaks ja arusaadavamaks. Järgmise sammuna soovitame uurida veelgi sügavamaid kuupäeva- ja ajaga seotud teemasid.

7. Viited

Loodan, et see artikkel aitab teil paremini mõista ja rakendada DATE_FORMAT funktsiooni võimalusi.