Funciones de fecha

Las funciones de fecha y hora se utilizan cuando trabajamos con datos de tiempo, como devolver la hora actual con un formato determinado o para ver cuantos días faltan para una determinada fecha. En la mayoría de los casos, los valores de tipo date se almacenan como AAAA-MM-DD (por ejemplo 1959-05-31) y los valores de tipo time se almacenan como hh:mm:ss (por ejemplo 11:41:12), pero siempre, entre comillas simples (‘ ‘).

Las convenciones [ ], significa que es un parámetro opcional. Algunas funciones utilizan un tipo de datos dado (por ejemplo, date_add(), que requiere un intervalo para realizar su cálculo).

adddate()

Sintaxis:

adddate (fecha, interval tipo de expresión)

Ejemplo:

Vemos que a la fecha ‘2018-02-23’ le ha sumado 31 con lo cual la consulta muestra la nueva fecha 2018-03-26.

Sinónimo:

date_add()

Ejemplo:

Aqui se ha especificado el tipo de intervalo (day) a la fecha ‘2018-02-23’ y támbien le ha sumado 31.

curdate()

Muestra la fecha actual.

Sintaxis:

curdate()

Ejemplo:

Sinónimo:

current_date()

Ejemplo:

current_time()

Según el contexto, devuelve la hora actual del sistema con la cadena “hh:mm:ss” o como el número hhmmss.

Sintaxis:

current_time()

Ejemplos:

Podemos realizar operaciones matemáticas con current_time().

current_timestamp()

Esta función equivale a now().

Sintaxis:

current_timestamp()

Sinónimo:

now()

Ejemplos:

curtime()

Muestra la hora en curso.

Sintaxis:

curtime()

Sinónimo:

current_time()

Ejemplos:

date_format()

Sintaxis:

date_format(fecha, cadena_formato)

Aplica un formato a la fecha especificada en función de la cadena_formato.

Ejemplo:

La cadena_formato está compuesta de especificadores que altera la salida del format Fecha y hora, echa un vistazo.

date_sub()

Sintaxis:

date_sub (fecha, interval tipo de expresión)

Resta un periodo de tiempo desde la fecha especificada. Si usamos un valor negativo en la expresión, ésta se sumará.

Ejemplo:

dayname()

Sintaxis:

dayname (fecha)

Devuelve el día de la fecha especificada.

Ejemplo:

dayofmonth()

Sintaxis:

dayofmonth (fecha)

Devuelve el día del mes de la fecha proporcionada como un número entre el 1 y el 31.

Ejemplo:

dayofweek()

Sintaxis:

dayofweek (fecha)

Devuelve el día de la semana de la fecha proporcionada como un número comprendido entre 1, para el domingo, y 7 para el sábado.

Ejemplo:

Para devolver el índice de día comprendido entre 0 y 6, de lunes a domingo utilizaremos weekday().

dayofyear()

Sintaxis:

dayofyear(fecha)

Devuelve el día del año de la fecha proporcionada como un número comprendido entre 1 y 366.

Ejemplo:

extract()

Sintaxis:

extract (tipo_de_fecha from fecha)

Utiliza tipo_de_fecha para devolver parte de la fecha.

Ejemplos:

from_days()

Sintaxis:

from_days(número)

Convierte el número especificado a una fecha basada en número de días transcurrido desde el 1 de enero del año 0 devolviendo el resultado. No tendrá en cuenta los días perdidos en el cambio del calendario Gregoriano.

Ejemplo:

form_unixtime()

Sintaxis:

from_unixtime (marca_de_tiempo_unix [, cadena_formato])

Convierte la marca_de_tiempo_unix en una fecha y devuelve el resultado. A la fecha devuelta se le aplica un formato si cadena_formato ha sido especificada.

Ejemplos:

Sin especificar cadena de formato.

Especificando una cadena de formatos.

hour()

Sintaxis:

hour (hora)

Devuelve la hora especificada en hora, comprendida entre 0 y 23.

Ejemplo:

minute()

Sintaxis:

minute (hora)

Devuelve los minutos de la hora especificada, comprendido entre 0 y 59.

Ejemplo:

month()

Sintaxis:

month(fecha)

Devuelve el mes de la fecha especificada, comprendido entre el 1 y el 12.

Ejemplo:

monthname()

Sintaxis:

monthname(fecha)

Devuelve el nombre del mes de la fecha especificada.

Ejemplo:

now()

Sintaxis:

now()

Devuelve la fecha y la hora actual en formato “AAAA-MM-DD hh:mm:ss“, según el contexto, la función lo devolvera en forma de cadena o como un número.

Ejemplo:

period_add()

Sintaxis:

period_add(periodo, meses)

Añade los meses al periodo (especificado como AAMM o AAAAMM) y devuelve el resultado como AAAAMM.

Ejemplo:

period_diff()

Sintaxis:

period_diff(periodo1, periodo2)

Devuelve el número de meses comprendidos entre periodo1 y periodo2 (se debe especificar en formato AAMM o AAAAMM).

Ejemplo:

quarter()

Sintaxis:

quarter(fecha)

Devuelve el trmestre de la fecha especificada, comprendido entre 1 y 4.

Ejemplo:

sec_to_time()

Sintaxis:

sec_to_time(segundos)

Convierte los segundos en hora y devuelve una cadena “hh:mm:ss” 0 un número “hhmmss“, en función del contexto.

Ejemplo:

second()

Sintaxis:

second(hora)

Devuelve los segundos de la hora especificada, comprendido entre 0 y 58.

Ejemplo:

subdate()

Sintaxis:

subdate(fecha, interval tipo_expresion)

Sinónimo:

date_sub()

Resta un periodo de tiempo desde la fecha especificada.

Ejemplos:

sysdate()

Sintaxis:

sysdate()

Devuelve la fecha y hora actual como un valor en el formato ‘AAAA-MM-DD HH:MM:SS‘ o AAAAMMDDHHMMSS, dependiendo de si la función se usa en un contexto de cadena o de número:

Sinónimo:

now()

Ejemplo:

time_format()

Sintaxis:

time_format(hora,formato)

Identico a date_format() exceptuando de que solamente se puede utilizar el subconjunto de formatos relacionados con la hora (de lo contrario, devolvera NULL).

Ejemplo:

time_to_sec()

Sintaxis:

time_to_sec(hora)

Convierte la hora en segundos y devuelve el resultado.

Ejemplo:

to_days()

Sintaxis:

to_days(fecha)

Devuelve el número de días transcurrido desde el 1 de enero del año 0 en la fecha especificada. No tiene en cuenta los días perdidos debido al cambio al calendario Gregoriano.

Ejemplo:

unix_timestamp()

Sintaxis:

unix_timestamp([fecha])

Devuelve un entero sin firma que representa la marca de tiempo Unix (los segundos transcurridos desde medianoche del 1 de enero de 1970) desde la hora del sistema (si se invoca sin parámetros) o bien una fecha especificada.

Ejemplo:

week()

Sintaxis:

week(fecha [,inicio_semanal])

Devuelve la semana de un determinado año de la fecha especificada, comprendida entre 0 y 53. Se asume que la semana empieza en domingo, a menos a menos que se defina como 1 el argumento inicio_semanal, en cuyo caso la semana empieza en lunes.

Ejemplos:

weekday()

Sintaxis:

weekday(fecha)

Devuelve el número del día de la semana de la fecha proporcionada como un número comprendido entre 0 (lunes) y 6 (domindo).

Ejemplo:

Utilice dayofweek() para devolver el índice de día según el estándar ODBC (1-7, de domingo a sabado).

year()

Sintaxis:

year (fecha)

Devuelve el año de la fecha especificada, comprendido entre 1000 y 9999.

Ejemplo:

yearweek()

Sintaxis:

yearweek (fecha [, inicio_semana])

Devuelve el año y la semana combinadas desde la fecha especificada. Se asume que la semana empieza en domingo, a menos que se definan como 1 el argumento opcional inicio_semana, en cuyo caso se supone que la semana empieza en lunes. También podemos configurar explicitamente como 0 para que empiece en domingo.

Ejemplos:

  • Hemos visto funciones de fecha y hora que muetran los formatos de fecha y hora parciales o totales.
  • Ensaya con patrones de salida para las fechas y horas personalizadas.