Funciones para fechas en SQL

  • Por
  • 15 de abril de 2008
  • Valoración:
  • 2 Comentarios
  • Desarrollo, Lenguaje SQL
Pasamos a describir las posibles funciones que te permiten trabajar con las fechas en el lenguaje SQL.
Dentro de SQL tenemos un tipo de dato denominado DATE. Este campo tiene el siguiente formato predeterminado:

'dd/mm/yy'

Este formato lo podemos modificar con la función TO_CHAR de la cual hablaremos más adelante en el siguiente artículo.

Cabe señalar que el tipo de dato DATE también almacena la siguiente información en el siguiente orden:

Siglo/Año/Mes/Día/Hora/Minutos/Segundos

A continuación mostramos una tabla con las funciones para el manejo de fechas en SQL:

Función Propósito
SYSDATE Devuelve la fecha del sistema
ADD_MONTHS (fecha, n) Devuelve la fecha incrementada en n meses
LAS_DAY (fecha) Devuelve la fecha del último día del mes que contiene fecha
MONTHS_BETWEEN (fecha1, fecha2) Devuelve la diferencia en meses entre la fecha1 y la fecha2
NEXT_DAY (fecha, cad) Devuelve la fecha del primer día de la semana indicado por cad después de la fecha indicada por fecha. Cad será siempre un día de la semana escrito con letras, por ejemplo Monday.

Ahora pasamos a poner algún ejemplo práctico para que os hagáis una idea de cómo es. De la primera función no hace falta ya que es bastante sencilla, tan solo tenéis que poner la función y os devuelve la fecha actual del sistema.

Ejemplo1: vamos a sumar 2 meses a la fecha de alta de los usuarios

Select fecha_alta, add_months(fecha_alta,2) from usuarios;

Ejemplo2: vamos a obtener el último día del mes para cada una de las fechas de alta de cada usuario

Select fecha_alta, last_day(fecha_alta) from usuarios;

Ejemplo3: vamos a obtener el día que será el próximo lunes

Select next_day(sysdate, 'Monday') "siguiente dia" from tabla;

Autor

Sara Alvarez

Equipo DesarrolloWeb.com

Comentarios

K9999

21/8/2009
Correccion
hola!

Gracias por especificar estas funciones, son muy utiles, sin embargo tienes un error en la tabla pues dices que la funcion que devuelve el ultimo dia de una fecha es "LAS_DAY (fecha)" siendo que te falta una T, asi que te invito a que la corrigas.

Cordial saludo.

Diego

21/5/2010
Excelente Articulo... Si funcionara
No hay ninguna funcion MONTHS_BETWEEN en MySQL

Compartir