A continuación se muestran dos funciones que se pueden utilizar para devolver el día a partir de una fecha en Oracle Database.
El EXTRACT()
Función
El EXTRACT(datetime)
La función se utiliza para extraer varias partes de fecha y hora de un valor de fecha y hora. Esto incluye el día.
He aquí un ejemplo:
SELECT EXTRACT(DAY FROM DATE '2037-10-25')
FROM DUAL;
Resultado:
25
Es el DAY
palabra clave que extrae la parte del día de la fecha. Podemos obtener otras partes de la fecha cambiándola a la palabra clave relevante. Por ejemplo, YEAR
, MONTH
, HOUR
, MINUTE
, etc.
También podemos usar la función con otros valores de fecha y hora, como TIMESTAMP
, etc.
El TO_CHAR(datetime)
Función
También podemos usar el TO_CHAR(datetime)
funcionan como un método alternativo para obtener el día a partir de una fecha.
Esta función acepta el valor de fecha y hora o 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 día, podemos usar uno de los elementos de formato para extraer el día.
Día del mes
Para obtener el día del mes (entre 1 y 31), use el DD
elemento de formato:
SELECT TO_CHAR(DATE '2037-10-03', 'DD')
FROM DUAL;
Resultado:
03
Nombre completo del día
Para obtener el nombre completo del día, use DAY
:
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
Día del año
Para obtener el día del año (entre 1 y 366), use el DDD
elemento de formato:
SELECT TO_CHAR(DATE '2037-10-03', 'DDD')
FROM DUAL;
Resultado:
276
Día de la semana
Para obtener el día de la semana (entre 1 y 7), use la D
elemento de formato:
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;
Resultado:
6
Este elemento de formato depende del territorio NLS de la sesión. El valor de el NLS_TERRITORY
de mi sistema el parámetro es AUSTRALIA
, y por lo tanto, el sábado se considera el sexto día de la semana.
Esto es lo que sucede si cambio el valor de mi NLS_TERRITORY
parámetro a AMERICA
y ejecute la misma consulta de nuevo:
ALTER SESSION SET NLS_TERRITORY = 'AMERICA';
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;
Resultado:
7
Esta vez el sábado se considera el séptimo día de la semana.