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:
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;
'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;