Lavorare con TO_CHAR()
Sia che tu voglia ottenere la data corrente nella tua query PostgreSQL o lavorare con le date nella tua tabella, capire come convertire la data in una stringa è essenziale. Forse vuoi un formato più carino per la data come output o per estrarre una sezione della data dopo averla convertita in una stringa. In ogni caso, TO_CHAR() è la funzione ideale.
Inoltre, TO_CHAR() offre molte opzioni di formattazione che puoi utilizzare. È possibile combinare le diverse opzioni per ottenere l'output desiderato.
TO_CHAR() accetta la seguente sintassi:
TO_CHAR(espressione, formato);
L'espressione è il timestamp che desideri convertire utilizzando il formato specificato.
Di seguito sono riportati i formati TO_CHAR() comunemente utilizzati:
1 anno
AAAA – Mostra l'anno in 4 cifre.
Sì, AAAA – Utilizza una virgola per rappresentare le quattro cifre dell'anno.
AAAA – Mostra solo le ultime tre cifre dell'anno specificato.
AA – Mostra solo le ultime due cifre dell'anno specificato.
E - Mostra solo l'ultima cifra dell'anno specificato.
2 mesi
MESE - Utilizza le lettere maiuscole per il nome del mese.
mese - Utilizza lettere minuscole per il nome del mese.
MIO - Abbrevia il mese in maiuscolo.
Mio - Abbrevia e mette in maiuscolo il mese.
MM - Mostra solo il numero del mese.
3. Giorno
GIORNO - Il nome del giorno in maiuscolo.
giorno - Il nome del giorno in minuscolo.
VOI - Abbrevia il nome del giorno e lo mette in maiuscolo.
Quelli - Abbrevia e mette in maiuscolo il nome del giorno.
Voi- Il nome del giorno abbreviato in minuscolo.
4. Tempo
HH- Ora del giorno
HH12 – Formato 12 ore
HH24 – Formato 24 ore
MIO - Minuti
SS- Secondi
I formati indicati non sono gli unici formati TO_CHAR() che puoi utilizzare, ma sono quelli più comunemente usati. Forniremo il loro esempio di utilizzo in questo post.
Esempio 1: conversione della data in stringa
Per questo esempio, digitiamo la data di destinazione come espressione e specifichiamo il formato in cui convertirla. Il seguente output mostra come convertire '2023-11-29' in una stringa più leggibile e comprensibile:
Esempio 2: lavorare con la data corrente
In PostgreSQL, CURRENT_DATE ti dà la data di quel particolare giorno.
Supponiamo di volerlo convertire in una stringa. Dobbiamo solo utilizzare CURRENT_DATE come espressione e quindi specificare il nostro formato. Ora ottieni la data corrente come una stringa.
Tuttavia, puoi modificare il formato con uno diverso per raggiungere il tuo obiettivo. Ad esempio, se vogliamo mostrare solo la data, il mese e l'anno, ottimizziamo il nostro comando come segue:
La bellezza di TO_CHAR() è che puoi combinare diversi formati per creare quello finale che desideri utilizzare per il tuo appuntamento. Andiamo avanti e lavoriamo con i timestamp.
Esempio 3: lavorare con Timestamp
Finora abbiamo lavorato solo con le date. Tuttavia, se la tua data contiene l'ora, puoi estrarre l'ora specificando il suo formato ideale.
Ecco un esempio in cui specifichiamo di ottenere l'ora nel formato 24 ore dal timestamp fornito, tralasciando la data:
Per il formato dell'ora a 12 ore utilizziamo HH12 anziché HH24. Dai un'occhiata al seguente esempio:
Infine, se vogliamo estrarre la data e l'ora dal timestamp fornito, dobbiamo solo aggiungere il formato ideale che desideriamo utilizzare. Qui specifichiamo l'utilizzo di HH12:MI:SS per l'ora e aggiungiamo un separatore. Successivamente, specifichiamo di utilizzare 'gg, mese, aaaa' per la data.
Il nostro risultato finale è il seguente:
Esempio 4: lavorare con una tabella
Tutti i formati di cui abbiamo discusso e menzionato possono essere applicati a una tabella PostgreSQL. Per questo esempio, abbiamo una tabella denominata 'ordini' che contiene la colonna 'data'. Per selezionare gli elementi da esso e utilizzare TO_CHAR() per la colonna 'data', eseguiamo il nostro comando come illustrato di seguito:
Puoi utilizzare qualsiasi formato desideri. Ecco lo stesso comando ma con un formato data diverso:
Se vogliamo mostrare solo il giorno della settimana e il mese dalla colonna della data, ecco come ottimizziamo il comando:
Sentiti libero di specificare qualsiasi formato ideale con cui desideri lavorare per il tuo caso.
Conclusione
TO_CHAR() è una pratica funzione PostgreSQL che consente agli utenti di convertire i timestamp e altri valori letterali in stringhe. Questo post mostra i diversi modi in cui puoi utilizzare TO_CHAR() per le date. Abbiamo fornito diversi esempi per assicurarti di comprendere rapidamente il contenuto. Speriamo che TO_CHAR() non ti disturberà più.