Rad s TO_CHAR()
Bilo da želite dobiti trenutni datum u svom PostgreSQL upitu ili raditi s datumima u svojoj tablici, neophodno je razumjeti kako pretvoriti datum u niz. Možda želite ljepši format za datum kao izlaz ili izdvojiti dio datuma nakon što ga pretvorite u niz. U svakom slučaju, TO_CHAR() je idealna funkcija.
Osim toga, TO_CHAR() nudi mnoštvo opcija oblikovanja koje možete koristiti. Možete kombinirati različite opcije kako biste dobili željeni rezultat.
TO_CHAR() ima sljedeću sintaksu:
TO_CHAR(izraz, format);
Izraz je vremenska oznaka koju želite pretvoriti pomoću navedenog formata.
Sljedeći su najčešće korišteni formati TO_CHAR():
1 godina
GGGG – Prikazuje godinu u 4 znamenke.
Y,YYY – Koristi zarez za predstavljanje četiri znamenke u godini.
GGG – Prikazuje samo zadnje tri znamenke u navedenoj godini.
GG – Prikazuje samo posljednje dvije znamenke u navedenoj godini.
I - Prikazuje samo posljednju znamenku u navedenoj godini.
2 mjeseca
MJESEC – Za naziv mjeseca koristi velika slova.
mjesec – Za naziv mjeseca koristi mala slova.
MOJ - Skraćuje mjesec velikim slovima.
moj - Skraćuje mjesec i velikim slovima.
MM – Prikazuje samo broj mjeseca.
3. Dan
DAN – Ime dana velikim slovima.
dan – Ime dana malim slovima.
VI – Skraćuje ime dana i piše ga velikim slovima.
Oni - Skraćuje i velikim slovima ime dana.
vas- Skraćeni naziv dana malim slovima.
4. Vrijeme
HH – Sat u danu
HH12 – 12-satni format
HH24 – 24-satni format
MOJ - minuta
SS – sekundi
Navedeni formati nisu jedini TO_CHAR() formati koje možete koristiti, ali su najčešće korišteni. Dat ćemo primjer njihove uporabe u ovom postu.
Primjer 1: Pretvaranje datuma u niz
U ovom primjeru upisujemo ciljani datum kao naš izraz i navodimo u koji format ga treba pretvoriti. Sljedeći rezultat pokazuje kako pretvaramo '2023-11-29' u čitljiviji i razumljiviji niz:
Primjer 2: Rad s trenutnim datumom
U PostgreSQL-u, CURRENT_DATE vam daje datum za taj određeni dan.
Pretpostavimo da ga želimo pretvoriti u niz. Trebamo samo upotrijebiti CURRENT_DATE kao naš izraz i zatim odrediti naš format. Sada dobivate svoj trenutni datum kao niz.
Ipak, možete promijeniti format u drugi kako biste ispunili svoj cilj. Na primjer, ako želimo prikazati samo datum, mjesec i godinu, našu naredbu podešavamo na sljedeći način:
Ljepota TO_CHAR() je u tome što možete kombinirati različite formate kako biste stvorili konačni koji želite koristiti za svoj datum. Idemo dalje i radimo s vremenskim oznakama.
Primjer 3: Rad s vremenskom oznakom
Do sada smo radili samo s datumima. Međutim, ako vaš datum sadrži vrijeme, možete izdvojiti vrijeme navođenjem njegovog idealnog formata.
Evo primjera u kojem određujemo da dobijemo vrijeme u 24-satnom formatu iz priložene vremenske oznake, izostavljajući datum:
Za 12-satni format vremena koristimo HH12 umjesto HH24. Pogledajte sljedeći primjer:
Na kraju, ako želimo izvući datum i vrijeme iz priložene vremenske oznake, samo trebamo dodati idealni format koji želimo koristiti. Ovdje navodimo koristeći HH12:MI:SS za vrijeme i dodajemo separator. Zatim navodimo korištenje 'dd, mjesec, gggg' za datum.
Naš konačni rezultat je sljedeći:
Primjer 4: Rad s tablicom
Svi formati o kojima smo razgovarali i spomenuli mogu se primijeniti na PostgreSQL tablicu. Za ovaj primjer imamo tablicu pod nazivom 'narudžbe' koja sadrži stupac 'datum'. Da bismo odabrali elemente iz njega i koristili TO_CHAR() za stupac 'datum', izvršavamo našu naredbu kao što je prikazano u nastavku:
Možete koristiti bilo koji format koji želite. Evo iste naredbe, ali s drugačijim formatom datuma:
Ako želimo prikazati samo dan u tjednu i mjesec iz stupca datuma, evo kako podešavamo naredbu:
Slobodno navedite bilo koji idealan format s kojim želite raditi za svoj slučaj.
Zaključak
TO_CHAR() je zgodna PostgreSQL funkcija koja korisnicima omogućuje pretvaranje vremenskih oznaka i drugih literala u nizove. Ovaj post pokazuje različite načine na koje možete koristiti TO_CHAR() za datume. Dali smo različite primjere kako bismo osigurali da brzo shvatite sadržaj. Nadamo se da vam TO_CHAR() više neće smetati.