Cuando trabajamos con fechas, se debe tener en cuenta
que la aritmética de fechas en Oracle trabaja en función de un día. Aunque
podemos trabajar con cualquier fecha, Oracle dispone de varias
funciones que operan con tipos de datos "date".
SYSDATE() es la función de fecha más utilizada Oracle. La función devuelve la fecha y la hora en el formato de fecha de Oracle por defecto.
Para adicionar y sustraer días a una fecha, simplemente usamos los signos + o - respectivamente. Algunos ejemplos:
SELECT sysdate + 7 FROM dual;
SELECT sysdate - 30 FROM dual;
SELECT
to_char(sysdate - 14, 'MM/DD/YYYY HH:MI
AM') FROM dual;
En el primer ejemplo, vemos que la consulta retorna la fecha siete días a partir de hoy. La segunda retorna la fecha de hace 30 días. En la tercera, se ha usado la función de conversión to_char, para ver las horas y minutos. Esto nos muestra que mientras la fecha, ha cambiado, el tiempo no cambia.
ADD_MONTHS(f,n): agrega a una
fecha, un número de meses. Si el segundo argumento es positivo, se le suma a la
fecha enviada tal cantidad de meses; si es negativo, se le resta a la fecha
enviada tal cantidad de meses.
select add_months('10/06/2015',5) from dual; --retorna
"10/11/2015"
select add_months('10/06/2015',-5) from dual;
--retorna "10/01/2015"
LAST_DAY(f): retorna el ultimo día del mes de la fecha enviada como
argumento.
select last_day('10/02/2015') from dual;--
"28/02/2015"
select last_day('10/08/2015') from dual;--
"31/08/2015"
MONTHS_BETWEEN(X,Y): retorna el numero de meses entre las fechas
enviadas como argumento.
select months_between('21/05/2015','21/06/2015') from dual;--
retorna 1
NEXT_DAY(fecha,dia): retorna una fecha correspondiente al primer día
especificado en "dia" luego de la fecha especificada.
select next_day('10/08/2015','LUNES') from dual;
No hay comentarios:
Publicar un comentario