
Funciones con fecha en SQL
Actualizado: 12 jun
Estas son funciones que se aplican a fechas (date).
Un valor tipo date almacena:
El año (4 posiciones).
El mes (2 posiciones).
El día (2 posiciones).
La hora (2 posiciones).
Los minutos (2 posiciones).
Los segundos (2 posiciones).
El formato de salida estándar en Oracle es dd-mmm-yy, ejemplo 01-dic-20.
CURRENT_DATE: Retorna la fecha actual.
Ejemplo: select current_date from dual;
Resultado: 14/09/20.
CURRENT_TIMESTAMP: Retorna la fecha y hora actual de la sesión.
Ejemplo: select current_timestamp from dual;
Resultado: 14/09/20 20:23:34,376000000 america/new_york.
SYSTIMESTAMP: retorna fecha y hora actuales del sistema.
Ejemplo: select systimestamp from dual;
Resultado: 14/09/20 20:24:39,137000000 -04:00.
NEW_TIME(fecha, zona1, zona2): convierte una fecha de una zona horaria a otra.
Ejemplo: select new_time (to_date ('2003/11/01 01:45', 'yyyy/mm/dd hh24:mi'), 'ast', 'mst') from dual;
Resultado: 31/10/03.
LAST_DAY(f): retorna el último día de mes de la fecha enviada como argumento.
Ejemplo: select last_day('10/02/2020') from dual;
Resultado: 29/02/20.
Ejemplo: select last_day('10/08/2020') from dual;
Resultado: 31/08/20.
NEXT_DAY(fecha, día): retorna una fecha correspondiente al primer día especificado en "día" luego de la fecha especificada.
Ejemplo: select next_day('10/08/2020','lunes') from dual;
Resultado: 17/08/20.
TO_DATE(cadena, formato): convierte una cadena a tipo de dato "date". La cadena tiene una fecha en el formato establecido por el parámetro “formato”.
Ejemplo: select to_date ('05-sep-2019 10:00 am','dd-mon-yyyy hh:mi am') from dual;
Resultado: 05/09/19.
TO_CHAR(fecha, formato): devuelve una fecha en el formato indicado.
Ejemplo: select to_char('10/10/2020')from dual;
Resultado: 10/10/2020.
ADD_MONTHS(fecha, num_meses): suma el número de meses indicado, a la fecha. Si el argumento num_meses es negativo, se resta.
Ejemplo: select add_months('10/06/2020',5) from dual;
Resultado: 10/11/20.
Ejemplo: select add_months('10/06/2020',-5) from dual;
Resultado: 10/01/20.
SYSDATE: devuelve la fecha y hora actual del sistema operativo de la base de datos.
Ejemplo: Select Sysdate From Dual;
Resultado: 14/09/20.
Extract(): extrae el indicador de una fecha.
SECOND: los segundos.
Ejemplo: Select Extract(second from systimestamp) from dual;
Resultado: 19,95.
TIMEZONE_HOUR: la hora de la zona horaria correspondiente.
Ejemplo: select extract(timezone_hour from systimestamp) from dual;
Resultado: -4.
TIMEZONE_MINUTE: los minutos de la zona horaria correspondiente.
Ejemplo: Select Extract(timezone_minute from systimestamp) from dual;
Resultado:0.
TIMEZONE_REGION: la región de la zona horaria correspondiente.
Ejemplo: Select Extract(timezone_region from systimestamp) from dual;
Resultado: unknown.
TIMEZONE_ABBR: devuelve la abreviatura de la zona horaria correspondiente.
Ejemplo: Select Extract(timezone_abbr from systimestamp) from dual;
Resultado: unk.