Ti è mai capitato di innervosirti cercando di formattare le date in Oracle Database? È un ostacolo comune. Niente paura, questa guida ti chiarirà le idee.
Introduzione al tipo di dato DATE di Oracle
Prima di iniziare a formattare, è importante capire il tipo di dato DATE in Oracle. Il tipo DATE serve a memorizzare data e ora di un istante specifico. A differenza di altri database (sì, parliamo di te, MySQL), il tipo DATE di Oracle include anche l’informazione sull’ora insieme alla data.
Il formato di memorizzazione del tipo DATE non è direttamente visibile agli sviluppatori, ma Oracle mette a disposizione una funzione chiamata TO_CHAR che permette di mostrare la data in un formato leggibile.
SELECT TO_CHAR(sysdate, 'DD/MM/YYYY HH24:MI:SS') "Current Date" FROM dual;
Questa query SQL restituisce la data e l’ora correnti del sistema nel formato ‘DD/MM/YYYY HH24:MI:SS’.
Capire i codici di formato delle date di Oracle
La vera magia della formattazione delle date in Oracle sta nei diversi codici di formato disponibili. Hai già visto all’opera ‘DD’, ‘MM’, ‘YYYY’, ‘HH24’, ‘MI’ e ‘SS’. Ecco un elenco di altri codici di formato utili:
- DD: giorno del mese (1-31)
- MM: mese (01-12. Gennaio è 01)
- YYYY: anno a 4 cifre
- YY: ultime 2 cifre dell’anno
- HH24: ora del giorno (00-23)
- MI: minuti (00-59)
- SS: secondi (00-59)
Combinando questi codici puoi formattare le date in molti modi diversi. Per esempio, se vuoi la data nel formato ‘mese giorno, anno’, puoi usare il seguente comando:
SELECT TO_CHAR(sysdate, 'MM DD, YYYY') "Current Date" FROM dual; -- 01 22, 1983
Usare TO_DATE per la formattazione
In alternativa, se hai una stringa che rappresenta una data e vuoi convertirla nel tipo di dato DATE, puoi usare la funzione TO_DATE:
SELECT TO_DATE('2021/07/16', 'YYYY/MM/DD') "Formatted Date" FROM dual;
Il risultato sarà ‘16-JULY-21’, il formato predefinito di DATE in Oracle. Nota che la funzione TO_DATE ti permette di specificare il formato della stringa in ingresso, così Oracle può convertirla correttamente nel tipo di dato DATE.
Formattare le date con formati alternativi
Con i formati di data in Oracle non sei limitato alla lingua inglese o al calendario gregoriano. Puoi invece usare lingue e territori diversi per formattare la data:
SELECT TO_CHAR(sysdate, 'MONTH DD, YYYY', 'NLS_DATE_LANGUAGE = German') "Current Date" FROM dual;
Questo codice formatta la data corrente secondo le convenzioni di denominazione della lingua tedesca.
Saper formattare le date è un aspetto importante del lavoro con i database, e Oracle Database offre una varietà di strumenti per aiutarti a padroneggiarlo. Non aver paura di sperimentare con i diversi codici di formato per capire meglio come funzionano e affinare le tue competenze SQL.
Ed eccoci alla fine! Ora dovresti avere una solida comprensione di come formattare le date in Oracle Database. Le funzioni TO_CHAR e TO_DATE, insieme alla conoscenza dei vari codici di formato delle date di Oracle, ti offrono un set di strumenti potente per gestire le date. Buone query!
Beekeeper Studio è una GUI per Oracle gratuita e open source
Nel mio ruolo mi occupo sia di codice legacy sia di codice nuovissimo, usando MSSQL/MariaDB/Oracle/Postgres e SQLite. Credo di aver finalmente trovato lo strumento che copre tutte le mie esigenze in un unico tool. - Chris Pink
Beekeeper Studio è un client Oracle veloce, intuitivo e facile da usare. Supporta anche tantissimi altri database e funziona alla grande su Windows, Mac e Linux.
Cosa dicono gli utenti Oracle di Beekeeper Studio
Nel mio ruolo mi occupo sia di codice legacy sia di codice nuovissimo, usando MSSQL/Mariadb/Oracle/Postgres e sqlite, credo di aver finalmente trovato lo strumento che copre tutte le mie esigenze in un unico tool
La cosa migliore di Beekeeper Studio è l'interfaccia pulita e il modo in cui presenta i dati. È lo strumento migliore che conosca. Come ingegnere uso Postgres, MySQL, SQLite, Oracle e MS SQL, e Beekeeper fa tutto con un'interfaccia fluida, spaziosa e naturalmente intuitiva. Se metti Beekeeper Studio nella tua lista, sono abbastanza sicuro che diventerà il tuo strumento di riferimento.