Spesso abbiamo bisogno di cambiare il formato della data durante il controllo. Ecco alcuni modi che puoi utilizzare per modificare il formato della data nel database Oracle
Formato data predefinito Oracle
Il formato della data predefinito in Oracle è controllato dal valore del parametro NLS_DATE_FORMAT.
La query seguente può essere utilizzata per trovare il valore corrente del parametro NLS_DATE_FORMAT
SELECT value FROM V$NLS_PARAMETERS WHERE parameter = 'NLS_DATE_FORMAT';
Come modificare il formato per l'intera sessione
Possiamo cambiare il parametro nella sessione e scegliere il formato che vogliamo per la data Oracle. Ecco lo sql che può essere usato per fare nella sessione
ALTER SESSION SET NLS_DATE_FORMAT = '[date_format]'; MM Numeric month (e.g., 07) MON Abbreviated month name (e.g., JUL) MONTH Full month name (e.g., JULY) DD Day of month (e.g., 24) DY Abbreviated name of day (e.g., FRI) YYYY 4-digit year (e.g., 1998) YY Last 2 digits of the year (e.g., 98) RR Like YY, but the two digits are ``rounded'' to a year in the range 1950 to 2049. Thus, 06 is considered 2006 instead of 1906 AM (or PM) Meridian indicator HH Hour of day (1-12) HH24 Hour of day (0-23) MI Minute (0-59) SS Second (0-59)
Esempio
alter session set nls_date_format = 'dd-mon-yyyy hh24:mi:ss';
Ora, qualunque sia la query che eseguirai, la colonna della data verrà formattata secondo il formato della data sopra
Example select sysdate from dual;
Come cambiare il formato della data usando la funzione to_char
Potremmo voler avere un formato di data diverso per le diverse query sql. In tal caso, puoi pianificare di utilizzare la funzione Oracle a riga singola to_char e puoi convertire la colonna di dati Oracle nel formato che desideri
Example select to_char(sysdate, 'dd-mon-yyyy hh24:mi:ss') from dual; select to_char(sysdate, 'dd-mon-yyyy') from dual;
Come modificare il formato della data utilizzando la funzione to_date
Potremmo voler cambiare le stringhe in formato data per il confronto, per la memorizzazione come data nella tabella Oracle. In questo caso, puoi utilizzare la funzione Oracle to_date
Example select to_date('11-JAN-2019 13:12:12', 'dd-mon-yyyy hh24:mi:ss') from dual; select to_date( '11-JAN-2019', 'dd-mon-yyyy') from dual;
La cosa importante da notare:la stringa viene convertita in una data e la data viene restituita come nel formato di data predefinito nell'istruzione select. Se stai utilizzando la funzione to_date per memorizzare le stringhe come data nella colonna della data, questa verrà archiviata solo come data. Ora, quando selezioni quella colonna, la data verrà visualizzata nel formato della data predefinito di Oracle impostato nella sessione.
Come formattare la data per visualizzare giorno, settimana, mesi ecc
Day of Week SQL> select to_char(sysdate,'D') col from dual; col ---- 2 Name of WeekDay SQL> select to_char(sysdate,'DAY') col from dual; col --- MONDAY Abbreviated name of day SQL> select to_char(sysdate,'DY') from dual; col ---- MON Day of Month SQL> select to_char(sysdate,'DD') from dual; col ---- 30 Abbreviated name of month SQL> select to_char(sysdate,'MON') from dual; col ---- NOV Name of Month SQL> select to_char(sysdate,'MONTH') from dual; col ----- NOVEMBER Day of Year SQL> select to_char(sysdate,'DDD') from dual; col ---- 334 Week of the year SQL> select to_char(sysdate,'IW') from dual; col ---- 05 Week of Month SQL> select to_char(sysdate,'W') from dual; col ----- 5 Month in Numbers SQL> select to_char(sysdate,'MM') from dual; col ---- 11 Year in Numbers SQL> select to_char(sysdate,'YYYY') from dual; col ---- 2019 Year in words SQL> select to_char(sysdate,'YEAR') from dual; col --- TWENTY NINE Hour in 0-12 format SQL> select to_char(sysdate,'HH') from dual' col ---- 08 Hour in 0-24 format SQL> select to_char(sysdate,'HH24') from dual; col --- 12 Minutes SQL> select to_char(sysdate,'MI') from dual; col ---- 45 Seconds SQL> select to_char(sysdate,'SS') from dual; col ---- 45
Spero che ti piacciano questi semplici passaggi su come modificare il formato della data nel database di Oracle. Ci possono essere molti esempi in cui questo può essere utilizzato. Ho appena fornito alcuni semplici esempi per dimostrare la funzionalità
Leggi anche
Funzioni di data di Oracle: Questo post copre le funzioni di data di Oracle, la differenza di data di Oracle in anni, la differenza di data di Oracle in giorni, la differenza di data di Oracle in mesi.
La funzione NULLIF in Oracle:la funzione NULLIF in Oracle confronta due valori e restituisce null se i valori sono uguali, altrimenti restituisce il primo valore. Non è possibile specificare il valore NULL letterale nei valori
Istruzione di aggiornamento in Oracle:usiamo l'istruzione di aggiornamento in Oracle per modificare le righe esistenti nella tabella di Oracle nella database di oracle. L'aggiornamento può essere eseguito in più modi
Coalesce Function in Oracle:la funzione Coalesce in Oracle restituirà la prima espressione se non è null, altrimenti coalesce il resto dell'espressione.
come fare per ottenere i metadati di una tabella in Oracle:Scopri come ottenere la definizione della tabella in Oracle, Oracle mostra la definizione dell'indice, ottieni ddl di vista materializzata in Oracle, ottieni la query di una vista in Oracle
http://infolab.stanford .edu/~ullman/fcdb/oracle/or-time.html