Arbeider med TO_CHAR()
Enten du vil hente gjeldende dato i PostgreSQL-spørringen din eller jobbe med datoer i tabellen din, er det viktig å forstå hvordan du konverterer datoen til en streng. Kanskje du vil ha et penere format for datoen som utdata eller å trekke ut en del av datoen etter å ha konvertert den til en streng. Uansett er TO_CHAR() den ideelle funksjonen.
Dessuten tilbyr TO_CHAR() mange formateringsalternativer som du kan bruke. Du kan kombinere de forskjellige alternativene for å få ønsket utgang.
TO_CHAR() tar følgende syntaks:
TO_CHAR(uttrykk, format);
Uttrykket er tidsstemplet du ønsker å konvertere med det angitte formatet.
Følgende er de vanligste TO_CHAR()-formatene:
1 år
ÅÅÅÅ – Den viser året med 4 sifre.
Å, ÅÅÅ – Den bruker et komma for å representere de fire sifrene i året.
ÅÅÅ – Den viser bare de tre siste sifrene i det angitte året.
ÅÅ – Den viser bare de to siste sifrene i det angitte året.
OG - Den viser bare det siste sifferet i det angitte året.
2 måneder
MÅNED – Den bruker store bokstaver for månedsnavnet.
måned – Den bruker små bokstaver for månedsnavnet.
MIN - Det forkorter måneden med store bokstaver.
min - Det forkorter og bruker store bokstaver i måneden.
MM – Den viser bare månedsnummeret.
3. Dag
DAG – Dagens navn med store bokstaver.
dag – Dagens små bokstaver.
DU – Den forkorter dagens navn og bruker stor bokstav.
De – Det forkorter og bruker store bokstaver i dagens navn.
du- Dagens navn med små bokstaver.
4. Tid
HH – Time på dagen
HH12 – 12-timers format
HH24 – 24-timers format
MIN - Minutter
SS – Sekunder
De angitte formatene er ikke de eneste TO_CHAR()-formatene du kan bruke, men de er de mest brukte. Vi vil gi eksempelbruken deres i dette innlegget.
Eksempel 1: Konvertering av dato til streng
For dette eksemplet skriver vi inn måldatoen som uttrykket vårt og spesifiserer hvilket format som skal konverteres. Følgende utdata viser hvordan vi konverterer '2023-11-29' til en mer lesbar og forståelig streng:
Eksempel 2: Arbeide med gjeldende dato
I PostgreSQL gir CURRENT_DATE deg datoen for den aktuelle dagen.
Anta at vi ønsker å konvertere den til en streng. Vi trenger bare å bruke CURRENT_DATE som vårt uttrykk og deretter spesifisere formatet vårt. Du får nå din nåværende dato som en streng.
Likevel kan du endre formatet til et annet for å nå målet ditt. For eksempel, hvis vi bare vil vise dato, måned og år, justerer vi kommandoen vår som følger:
Det fine med TO_CHAR() er at du kan kombinere de forskjellige formatene for å lage det endelige formatet du ønsker å bruke for daten din. La oss gå videre og jobbe med tidsstempler.
Eksempel 3: Arbeid med tidsstempel
Så langt har vi kun jobbet med datoer. Men hvis datoen inneholder tid, kan du trekke ut tiden ved å spesifisere det ideelle formatet.
Her er et eksempel der vi spesifiserer å få klokkeslettet i et 24-timers format fra det oppgitte tidsstemplet, og utelater datoen:
For 12-timers tidsformatet bruker vi HH12 i stedet for HH24. Ta en titt på følgende eksempel:
Til slutt, hvis vi ønsker å trekke ut datoen og klokkeslettet fra det angitte tidsstemplet, trenger vi bare å legge til det ideelle formatet vi ønsker å bruke. Her spesifiserer vi bruk av HH12:MI:SS for tiden og legger til en separator. Deretter spesifiserer vi å bruke 'dd, måned, åååå,' for datoen.
Vår endelige utgang er som følger:
Eksempel 4: Arbeide med en tabell
Alle formater som vi diskuterte og nevnte kan brukes på en PostgreSQL-tabell. For dette eksemplet har vi en tabell kalt 'ordrer' som inneholder 'dato'-kolonnen. For å velge elementene fra den og bruke TO_CHAR() for 'dato'-kolonnen, utfører vi kommandoen vår som illustrert i følgende:
Du kan bruke hvilket som helst format du ønsker. Her er den samme kommandoen, men med et annet datoformat:
Hvis vi bare vil vise ukedagen og måneden fra datokolonnen, er det slik vi justerer kommandoen:
Spesifiser gjerne et hvilket som helst ideelt format du vil jobbe med for saken din.
Konklusjon
TO_CHAR() er en hendig PostgreSQL-funksjon som lar brukerne konvertere tidsstemplene og andre bokstaver til strenger. Dette innlegget viser de forskjellige måtene du kan bruke TO_CHAR() for datoer. Vi ga forskjellige eksempler for å sikre at du raskt forstår innholdet. Forhåpentligvis vil ikke TO_CHAR() plage deg lenger.