A continuación se muestran dos funciones que se pueden utilizar para extraer el año de una fecha en Oracle Database.
El EXTRACT()
Función
Puede usar el EXTRACT(datetime)
Función para extraer varias partes de fecha y hora de un valor de fecha y hora. Esto incluye el año.
He aquí un ejemplo:
SELECT EXTRACT(YEAR FROM DATE '2030-12-25')
FROM DUAL;
Resultado:
2030
Es el YEAR
palabra clave que extrae la parte del año de la fecha. Podemos obtener otras partes de la fecha cambiándola a la palabra clave relevante. Por ejemplo, MONTH
, DAY
, HOUR
, MINUTE
, etc.
También podemos usar la función con otros valores de fecha y hora, como TIMESTAMP
, etc.
La función también se puede utilizar para devolver el año de un intervalo. Ver EXTRACT(datetime)
Función en Oracle para un ejemplo.
El TO_CHAR(datetime)
Función
También podemos usar el TO_CHAR(datetime)
funcionan como un método alternativo para obtener el año a partir de una fecha.
Esta función acepta la fecha y hora o valor de intervalo como primer argumento y un modelo de formato como segundo argumento. La función luego convierte el valor a un tipo de datos de VARCHAR2
en el formato especificado.
El modelo de formato especifica el formato para el que devolver el valor de fechahora/intervalo. El modelo de formato consta de uno o más elementos de formato . Esto nos permite diseñar cuidadosamente los resultados para reflejar nuestro formato deseado.
Si solo queremos devolver el año, podemos usar el YYYY
elemento de formato:
SELECT TO_CHAR(DATE '2027-10-03', 'YYYY')
FROM DUAL;
Resultado:
2,027
También podemos utilizar alternativas para el modelo de formato. Por ejemplo, podemos usar YY
para especificar un año de dos dígitos:
SELECT TO_CHAR(DATE '2027-10-03', 'YY')
FROM DUAL;
Resultado:
27
De hecho, podemos tener entre uno y cuatro Y
caracteres, dependiendo de nuestros requisitos:
SELECT
TO_CHAR(DATE '2027-10-03', 'Y') AS Y,
TO_CHAR(DATE '2027-10-03', 'YY') AS YY,
TO_CHAR(DATE '2027-10-03', 'YYY') AS YYY,
TO_CHAR(DATE '2027-10-03', 'YYYY') AS YYYY
FROM DUAL;
Resultado:
Y YY YYY YYYY ____ _____ ______ _______ 7 27 027 2027
Incluir una coma
Podemos usar el Y,YYY
elemento de formato si queremos incluir una coma en la salida:
SELECT TO_CHAR(DATE '2027-10-03', 'Y,YYY')
FROM DUAL;
Resultado:
2,027
Deletrear el año
Incluso podemos usar el YEAR
elemento de formato para devolver el año escrito:
SELECT TO_CHAR(DATE '2027-10-03', 'YEAR')
FROM DUAL;
Resultado:
TWENTY TWENTY-SEVEN
Fechas antes de Cristo
También podemos atender a las fechas de BC anteponiendo nuestro elemento de formato de año con un S
. Al hacer esto, antepone el resultado con un signo menos, según corresponda:
SELECT
TO_CHAR(DATE '-250-10-03', 'SYYYY') AS SYYYY,
TO_CHAR(DATE '-250-10-03', 'SYEAR') AS SYEAR
FROM DUAL;
Resultado:
SYYYY SYEAR ________ _____________ -0250 -TWO FIFTY
Alternativamente podemos utilizar el BC o B.C. elementos de formato para atender las fechas BC:
SELECT
TO_CHAR(DATE '-250-10-03', 'YYYY BC') AS YYYY,
TO_CHAR(DATE '-250-10-03', 'YEAR BC') AS YEAR,
TO_CHAR(DATE '250-10-03', 'YYYY BC') AS YYYY,
TO_CHAR(DATE '250-10-03', 'YEAR BC') AS YEAR
FROM DUAL;
Resultado:
YYYY YEAR YYYY YEAR __________ _______________ __________ _______________ 0250 BC TWO FIFTY BC 0250 AD TWO FIFTY AD