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