Listado completo de tutoriales

23 - Funciones de fechas y horas


Ver video

Oracle dispone de varias funciones que operan con tipos de datos "date". Estas son algunas:

- 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. Ejemplo:

 select add_months('10/06/2020',5) from dual; --retorna "10/11/20"
 select add_months('10/06/2020',-5) from dual; --retorna "10/01/20"
 select add_months('30/01/2020',1) from dual;-- retorna "29/02/20" ya que es el último día de ese mes.

- last_day(f): retorna el ultimo día de mes de la fecha enviada como argumento. Ejemplo:

 select last_day('10/02/2020') from dual;-- "29/02/20"
 select last_day('10/08/2020') from dual;-- "31/08/20"

- months_between(f1,f2): retorna el numero de meses entre las fechas enviadas como argumento. Ejemplo:

 select months_between('19/05/2020','21/06/20') from dual;-- retorna  -1,06451613 

- next_day(fecha,dia): retorna una fecha correspondiente al primer día especificado en "dia" luego de la fecha especificada. En el siguiente ejemplo se busca el lunes siguiente a la fecha especificada:

 select next_day('10/08/2020','LUNES') from dual; -- 17/08/20

- current_date: retorna la fecha actual. Ejemplo:

 select current_date from dual;

- current_timestamp: retorna la fecha actual

 select current_timestamp from dual;

Retorna: 22/07/20 07:27:20,973000000 AMERICA/BUENOS_AIRES

- sysdate: retorna la fecha y hora actuales en el servidor de Oracle.

-systimestamp: retorna fecha y hora actuales.

 select systimestamp from dual;

Retorna 22/07/20 07:27:45,012000000 -03:00

- to_date: convierte una cadena a tipo de dato "date". Ejemplo:

  select to_date ('05-SEP-2019 10:00 AM','DD-MON-YYYY HH:MI AM') from dual;

Retorna 05/09/19

- to_char: convierte una fecha a cadena de caracteres. Ejemplo:

 select to_char('10/10/2020')from dual;

- extract(parte,fecha): retorna la parte (especificada por el primer argumento) de una fecha. Puede extraer el año (year), mes (month), día (day), hora (hour), minuto (minute), segundo (second), etc. Ejemplo:

 select extract(month from sysdate) from dual;

retorna el número mes de la fecha actual.

En Oracle: Los operadores aritméticos "+" (más) y "-" (menos) pueden emplearse con fechas. Por ejemplos:

 select sysdate-3:

Retorna 3 días antes de la fecha actual.

 select to_date('15/12/2020')-5 from dual;

Retorna 10/12/20

Se pueden emplear estas funciones enviando como argumento el nombre de un campo de tipo date.


Retornar