Al obtener el nombre del día y/o mes de una fecha en Oracle, es posible que desee devolverlo en mayúsculas, minúsculas o título.
Afortunadamente, esto es fácil de hacer. El resultado refleja la capitalización de su modelo de formato.
Ejemplo
Al usar TO_CHAR()
para devolver partes de fecha de un valor de fecha, utiliza uno o más elementos de formato para producir un modelo de formato. Este modelo de formato determina cómo se formatea la fecha cuando se devuelve.
Podemos usar el DAY
y MONTH
elementos de formato para devolver el nombre del día y el nombre del mes respectivamente.
Pero lo que es más importante, las mayúsculas que usamos para estos elementos de formato determinan la capitalización del resultado.
Ejemplo:
SELECT
TO_CHAR( DATE '2037-12-03', 'month' ) AS "month",
TO_CHAR( DATE '2037-12-03', 'Month' ) AS "Month",
TO_CHAR( DATE '2037-12-03', 'MONTH' ) AS "MONTH"
FROM DUAL;
Resultado:
month Month MONTH ____________ ____________ ____________ december December DECEMBER
Es lo mismo para el DAY
elemento de formato:
SELECT
TO_CHAR( DATE '2037-12-03', 'day' ) AS "day",
TO_CHAR( DATE '2037-12-03', 'Day' ) AS "Day",
TO_CHAR( DATE '2037-12-03', 'DAY' ) AS "DAY"
FROM DUAL;
Resultado:
day Day DAY ____________ ____________ ____________ thursday Thursday THURSDAY
También se aplica al devolver la versión abreviada del día o mes.
Ejemplo:
SELECT
TO_CHAR( DATE '2037-12-03', 'mon' ) AS "mon",
TO_CHAR( DATE '2037-12-03', 'Mon' ) AS "Mon",
TO_CHAR( DATE '2037-12-03', 'MON' ) AS "MON"
FROM DUAL;
Resultado:
mon Mon MON ______ ______ ______ dec Dec DEC
Y:
SELECT
TO_CHAR( DATE '2037-12-03', 'dy' ) AS "dy",
TO_CHAR( DATE '2037-12-03', 'Dy' ) AS "Dy",
TO_CHAR( DATE '2037-12-03', 'DY' ) AS "DY"
FROM DUAL;
Resultado:
dy Dy DY ______ ______ ______ thu Thu THU
El año
Quizás un hecho menos conocido es que Oracle Database también proporciona elementos de formato que devuelven el año completo explicado. Específicamente, YEAR
y YEAR
(para atender o antes de las fechas BC).
El uso de mayúsculas de estos elementos de formato también afecta la salida:
SELECT
TO_CHAR( DATE '2037-12-03', 'year' ) AS "year",
TO_CHAR( DATE '2037-12-03', 'Year' ) AS "Year",
TO_CHAR( DATE '2037-12-03', 'YEAR' ) AS "YEAR"
FROM DUAL;
Resultado:
year Year YEAR ______________________ ______________________ ______________________ twenty thirty-seven Twenty Thirty-Seven TWENTY THIRTY-SEVEN
Y:
SELECT
TO_CHAR( DATE '-2037-12-03', 'syear' ) AS "syear",
TO_CHAR( DATE '-2037-12-03', 'Syear' ) AS "Syear",
TO_CHAR( DATE '-2037-12-03', 'SYEAR' ) AS "SYEAR"
FROM DUAL;
Resultado:
syear Syear SYEAR _______________________ _______________________ _______________________ -twenty thirty-seven -Twenty Thirty-Seven -TWENTY THIRTY-SEVEN
Al aplicar mayúsculas y minúsculas con el Syear
elemento de formato, debemos recordar que solo el primer carácter, el S
carácter:está en mayúsculas y todos los caracteres restantes están en minúsculas (incluido el Y
carácter):