Con Oracle Database, possiamo utilizzare il TO_CHAR(datetime)
funzione per restituire un valore datetime, formattato in un modo da noi specificato.
Possiamo usare questa funzione per restituire il nome del giorno da una data (così come qualsiasi altra parte del valore datetime).
Nome per l'intera giornata
Quando si tratta di restituire il nome del giorno da una data, abbiamo la possibilità di ottenere il nome completo del giorno o la sua versione abbreviata.
Per ottenere il nome completo del giorno, il DAY
format element fa il trucco:
SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;
Risultato:
SATURDAY
Nome breve del giorno
Per ottenere il nome abbreviato del giorno, usa DY
:
SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;
Risultato:
SAT
Maiuscole
Possiamo usare le maiuscole se lo desideriamo. Questo determina la capitalizzazione dell'output:
SELECT
TO_CHAR(DATE '2037-10-03', 'Day') AS "Day",
TO_CHAR(DATE '2037-10-03', 'day') AS "day",
TO_CHAR(DATE '2037-10-03', 'Dy') AS "Dy",
TO_CHAR(DATE '2037-10-03', 'dy') AS "dy"
FROM DUAL;
Risultato:
Day day Dy dy ____________ ____________ ______ ______ Saturday saturday Sat sat
Lingua
La lingua del nome del giorno è determinata in modo esplicito con il NLS_DATE_LANGUAGE
parametro di inizializzazione o implicitamente con NLS_LANGUAGE
parametro di inizializzazione.
Possiamo impostare esplicitamente il valore di NLS_LANGUAGE
parametro con il ALTER SESSION
dichiarazione. Quando lo facciamo, imposta anche implicitamente il valore di NLS_DATE_LANGUAGE
parametro.
Tuttavia, impostando il NLS_DATE_LANGUAGE
parametro non cambia il valore di il NLS_LANGUAGE
parametro. Questo ci consente di specificare una lingua diversa per elementi di formato che restituiscono valori scritti, se necessario.
Ecco un esempio di impostazione di il NLS_DATE_LANGUAGE
parametro in una lingua diversa:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
Risultato:
Session altered.
Ora, quando restituiamo il nome del giorno da una data, viene restituito nella lingua che abbiamo appena specificato:
SELECT
TO_CHAR(DATE '2037-10-03', 'DAY') AS "Full Day Name",
TO_CHAR(DATE '2037-10-03', 'DY') AS "Short Day Name"
FROM DUAL;
Risultato:
Full Day Name Short Day Name ________________ _________________ SAMSTAG SA
La lingua predefinita può essere sovrascritta a livello di funzione con un terzo parametro che specifica la lingua:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(
DATE '2037-10-03',
'Day',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Risultato:
Sábado
Sono disponibili molti altri elementi di formato per la formattazione dei valori datetime in Oracle. Per un elenco completo, vedere Elenco degli elementi del formato DateTime in Oracle.