MySQL DATE_FORMAT funktsioon: kuupäevade vormindamise täielik juhend

1. Enne kui õpid MySQL-i kuupäevavormingu kohta: põhitõed

Kuupäevaandmete haldamine andmebaasis mängib olulist rolli igas süsteemis. MySQL-is on andmete täpne salvestamine ja korrektne vormindamine hädavajalik. Siin tutvustame kuupäevade salvestus- ja kuvamisvormingute põhitõdesid ning selgitame DATE_FORMAT funktsiooni, mis aitab andmeid vormindada.

1.1 MySQL-i kuupäevatüübid ja nende omadused

MySQL pakub mitmeid andmetüüpe kuupäeva ja aja töötlemiseks. Nende otstarbe mõistmine võimaldab valida sobivaima tüübi ning optimeerida andmebaasi jõudlust.

  • DATE tüüp
    Salvestab kuupäeva formaadis „YYYY-MM-DD“. Sobib lihtsate kuupäevade jaoks, mis ei vaja aega (nt sünnipäevad või sündmused). Näide: 2024-10-19
  • DATETIME tüüp
    Salvestab nii kuupäeva kui ka aja. Vorming on „YYYY-MM-DD HH:MM:SS“ ja sobib logide või kirjete jaoks, kus on vaja aega talletada. Näide: 2024-10-19 15:30:45
  • TIMESTAMP tüüp
    Salvestab andmed UNIX-i ajatemplina (sekundid alates 1. jaanuarist 1970) ning seda kasutatakse sageli süsteemides, mis ületavad ajavööndeid. Praeguse ajatembli saab CURRENT_TIMESTAMP abil.

Kuupäevatüübi valik tuleb teha rakenduse nõuete põhjal. See suurendab andmete täpsust ja päringute tõhusust.

1.2 Kuupäeva salvestamise ja kuvamise erinevus

MySQL salvestab kuupäevad standardvormingus, kuid sageli on vaja neid kasutajale loetavas vormingus kuvada. Selleks kasutatakse DATE_FORMAT funktsiooni. Selle abil saab salvestatud andmeid kohandatud vormingus kuvada.

Järgmises jaotises vaatleme DATE_FORMAT funktsiooni kasutamist ja selle rakendusvõimalusi.

2. DATE_FORMAT funktsiooni põhiline kasutamine

DATE_FORMAT funktsiooni kasutatakse salvestatud kuupäeva vormindamiseks määratud kujul. Paindlike vormingutunnuste abil saab luua erinevaid kuvamisstiile.

2.1 DATE_FORMAT funktsiooni süntaks

DATE_FORMAT(date, format)
  • date: Vormindatav kuupäevaandmetüüp (DATE, DATETIME, TIMESTAMP jne).
  • format: Väljundvormingut määrav string, kus kasutatakse %-sümboliga vormingutunnuseid.

Näiteks järgnev päring teisendab kuupäeva vormingusse „YYYY/MM/DD“.

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

Tulemus:

2024/10/19

2.2 Vormingutunnuste detailid

DATE_FORMAT funktsioon pakub mitmeid vormingutunnuseid, mis võimaldavad kuupäeva ja aega paindlikult kuvada. Levinumad näited:

  • %Y: 4-kohaline aasta (nt 2024)
  • %m: 2-kohaline kuu (01–12)
  • %d: 2-kohaline päev (01–31)
  • %W: Nädalapäeva nimi (nt Saturday)
  • %H: Tund 24-tunnises formaadis (00–23)
  • %i: Minutid (00–59)
  • %s: Sekundid (00–59)

Näiteks järgmine päring kuvab nädalapäeva ja kuupäeva:

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

Tulemus:

Saturday, 2024-10-19

2.3 Jaapani vormingu väljund

DATE_FORMAT abil saab väljundit kohandada ka jaapani vormingusse. Näiteks:

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

Tulemus:

2024年10月19日

Seda vormingut kasutatakse sageli aruannetes ja arvete koostamisel Jaapanis.

3. DATE_FORMAT funktsiooni edasised tehnikad

DATE_FORMAT funktsiooni saab kombineerida teiste MySQL funktsioonidega, et teostada võimsamaid kuupäevatoiminguid. Siin on mõned kasulikud tehnikad.

3.1 Kombinatsioon teiste kuupäevafunktsioonidega

DATE_FORMAT funktsiooni saab kombineerida näiteks DATE_ADD ja DATE_SUB funktsioonidega, et luua dünaamilisi kuupäevatoiminguid.

Näide: Lisa kuupäevale 1 kuu ja vorminda
SELECT DATE_FORMAT(DATE_ADD('2024-10-19', INTERVAL 1 MONTH), '%Y-%m-%d');

Tulemus:

2024-11-19

See võimaldab kuupäevaarvutusi ja tulemuse kuvamist sobivas formaadis, mis on kasulik aruannete või andmetöötluse puhul.

3.2 STR_TO_DATE funktsiooniga kombineerimine

STR_TO_DATE funktsiooni abil saab stringi teisendada kuupäevatüübiks. Kui seda kombineerida DATE_FORMAT-iga, saab täpseid kuupäevateisendusi teha.

Näide: Stringi teisendamine kuupäevaks ja vormingu rakendamine
SELECT DATE_FORMAT(STR_TO_DATE('2024年10月19日', '%Y年%c月%e日'), '%Y/%m/%d');

Tulemus:

2024/10/19

See meetod võimaldab töödelda keerukaid stringe ja muuta need korrektseteks kuupäevadeks.

4. Levinud kuupäevavormingute näited

Siin on mõned näited kuupäevavormingutest, mida sageli kasutatakse äris ja süsteemides.

4.1 Kaldkriipsudega eraldatud kuupäev

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

Tulemus:

2024/10/19

Seda vormingut kasutatakse laialdaselt veebivormides ja kasutajaliidestes.

4.2 ISO 8601 vorming

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

Tulemus:

2024-10-19

ISO 8601 on rahvusvaheline standard, mis sobib süsteemidevaheliseks andmevahetuseks.

4.3 Nädalapäeva ja kuu nime kuvamine

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

Tulemus:

October Saturday

Sobib hästi sündmuste ja kalendrite kuvamiseks.

5. Kokkuvõte

DATE_FORMAT funktsioon on võimas tööriist kuupäevade paindlikuks vormindamiseks MySQL-is. Õppisime, kuidas seda kasutada põhiliste vormingute jaoks ja kuidas seda kombineerida teiste funktsioonidega.

STR_TO_DATE ja DATE_ADD funktsioonidega kombineerimine pakub veelgi paindlikumaid lahendusi. Kasutades neid tehnikaid, saab kuupäevaandmeid tõhusalt töödelda ja süsteemide andmetöötlust optimeerida.

MySQL-i funktsionaalsuse oskuslik rakendamine aitab suurendada andmebaasi töökindlust ja viia süsteemiarendus järgmisele tasemele.