Con Oracle Database, podemos usar el TO_CHAR(datetime)
para devolver un valor de fecha y hora, con el formato que especifiquemos.
Podemos usar esta función para devolver el nombre del día de una fecha (así como cualquier otra parte del valor de fecha y hora).
Nombre completo del día
Cuando se trata de devolver el nombre del día a partir de una fecha, tenemos la opción de obtener el nombre del día completo o su versión abreviada.
Para obtener el nombre completo del día, el DAY
elemento de formato hace el truco:
SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;
Resultado:
SATURDAY
Nombre de día corto
Para obtener el nombre del día abreviado, use DY
:
SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;
Resultado:
SAT
Capitalización
Podemos usar mayúsculas si lo deseamos. Esto determina la capitalización de la salida:
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;
Resultado:
Day day Dy dy ____________ ____________ ______ ______ Saturday saturday Sat sat
Idioma
El idioma del nombre del día se determina explícitamente con NLS_DATE_LANGUAGE
parámetro de inicialización o implícitamente con el NLS_LANGUAGE
parámetro de inicialización.
Podemos establecer explícitamente el valor de NLS_LANGUAGE
parámetro con ALTER SESSION
declaración. Cuando hacemos esto, también establece implícitamente el valor de NLS_DATE_LANGUAGE
parámetro.
Sin embargo, establecer el NLS_DATE_LANGUAGE
el parámetro no cambia el valor de el NLS_LANGUAGE
parámetro. Esto nos permite especificar un idioma diferente para elementos de formato que devuelven valores escritos, si es necesario.
Este es un ejemplo de cómo configurar el NLS_DATE_LANGUAGE
parámetro a un idioma diferente:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
Resultado:
Session altered.
Ahora, cuando devolvemos el nombre del día de una fecha, se devuelve en el idioma que acabamos de especificar:
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;
Resultado:
Full Day Name Short Day Name ________________ _________________ SAMSTAG SA
El idioma predeterminado se puede anular en el nivel de función con un tercer parámetro que especifica el idioma:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(
DATE '2037-10-03',
'Day',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Resultado:
Sábado
Hay muchos más elementos de formato disponibles para formatear valores de fecha y hora en Oracle. Consulte la Lista de elementos de formato de fecha y hora en Oracle para obtener una lista completa.