Funciones de fecha SQL y GETDATE explicadas con ejemplos de sintaxis

Hay 61 funciones de fecha definidas en MySQL. No se preocupe, no los revisaremos todos aquí. Esta guía le brindará una introducción a algunos de los más comunes y la exposición suficiente para que pueda explorar cómodamente por su cuenta.

Cubriremos:

  • Obtener la fecha actual
  • Matemáticas de fecha
  • Fechas en una cláusula where o have

Obtener la fecha actual

Obtener la fecha del sistema puede ser muy útil para procesar datos usando SQL.

-- current date select now(), sysdate(), current_date(), current_time(), -- date and time from the system on execution dayofyear(now()) as NumDaysSoFarThisYr, EXTRACT(YEAR FROM now()) as theYearPart, EXTRACT(YEAR_MONTH FROM now()) as theYrMonPart, date_format(now(), '%W %M %Y') as oneOfManyFormats; ; 

En la consulta SQL, vemos lo siguiente:

  • Las dos primeras columnas del resultado son dos formas de obtener la misma información: la fecha en el sistema en el momento en que se ejecuta SQL.
  • Las siguientes dos columnas dividen solo las partes de Fecha y Hora de la fecha del sistema.
  • El siguiente presenta el "número de día" de la fecha del sistema en este año. Notará que esto es un día más que las matemáticas que se muestran en el siguiente ejemplo.
  • Los dos siguientes extraen solo el año y luego tanto el año como el mes
  • Por último, pero no menos importante, hay un solo ejemplo de una de las muchas formas de formatear estas fechas.

También puede usar GETDATE () para obtener la fecha actual.

Matemáticas de fecha

select now(), current_date(), datediff(now(),'2017-01-01') as daysThisYear, subdate(current_date(), interval 150 day) as '150DaysAgo', adddate(now(), interval 7 day) as dateInA_Week -- date in a week ; 
imagen-1

Aquí vemos:

  • Las dos primeras columnas son solo la fecha y hora del sistema como referencia.
  • La segunda columna es la diferencia de fecha (dateiff) entre el primero de enero de 2017 y la fecha del sistema.
  • Las dos últimas columnas son ejemplos de restar y sumar fechas.

En una cláusula where o have

Aquí hay dos ejemplos del uso de matemáticas de fecha en una cláusula where:

select * from student; - to show the current data being used for the example select * from student where recordCreated < '2017-01-01'; select * from student where recordCreated < subdate(current_date(), interval 225 day); 

Con respecto a la parte HAVING: Tenga en cuenta que la mayor parte de la lógica de la cláusula WHERE también funcionará en la cláusula HAVING de GROUP BY. La diferencia entre los dos es que la cláusula WHERE se ejecuta en los datos completos y HAVING se ejecuta en los datos agregados por la cláusula GROUP BY.

Al igual que con todas estas cosas, hay MUCHO MÁS de lo que se incluye en esta guía introductoria. Espero que esto al menos te dé lo suficiente para comenzar. Consulte el manual de su administrador de base de datos y diviértase probando diferentes opciones usted mismo.