En Oracle Database, el TO_CHAR(datetime)
nos permite devolver un valor de fecha y hora, con el formato que especifiquemos.
Una de las cosas que podemos hacer es devolver el nombre del mes de una fecha.
Nombre completo del mes
Cuando se trata de devolver el nombre del mes de una fecha, tenemos la opción de obtener el nombre completo del mes o su versión abreviada.
Para obtener el nombre completo del mes, use MONTH
elemento de formato:
SELECT TO_CHAR(DATE '2035-10-03', 'MONTH')
FROM DUAL;
Resultado:
OCTOBER
Nombre de mes corto
Para obtener el nombre del mes abreviado, use MON
:
SELECT TO_CHAR(DATE '2035-10-03', 'MON')
FROM DUAL;
Resultado:
OCT
Capitalización
Podemos usar mayúsculas para determinar la capitalización de la salida:
SELECT
TO_CHAR(DATE '2035-10-03', 'Month') AS "Month",
TO_CHAR(DATE '2035-10-03', 'month') AS "month",
TO_CHAR(DATE '2035-10-03', 'Mon') AS "Mon",
TO_CHAR(DATE '2035-10-03', 'mon') AS "mon"
FROM DUAL;
Resultado:
Month month Mon mon ____________ ____________ ______ ______ October october Oct oct
Idioma
El idioma del nombre del mes se determina explícitamente con el 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, configurar el NLS_DATE_LANGUAGE
el parámetro no cambia el valor de NLS_LANGUAGE
parámetro. Esto nos permite especificar un idioma diferente para los elementos de formato que devuelven valores escritos, si es necesario.
Este es un ejemplo de configuración de NLS_DATE_LANGUAGE
parámetro a un idioma diferente, luego obteniendo el nombre del mes nuevamente:
ALTER SESSION SET NLS_DATE_LANGUAGE = 'GERMAN';
SELECT
TO_CHAR(DATE '2037-10-03', 'Month') AS "Full Month Name",
TO_CHAR(DATE '2037-10-03', 'Mon') AS "Short Month Name"
FROM DUAL;
Resultado:
Full Month Name Short Month Name __________________ ___________________ Oktober Okt
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',
'Month',
'NLS_DATE_LANGUAGE = Spanish'
)
FROM DUAL;
Resultado:
Octubre
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.