freeCodeCamp/guide/spanish/sql/sql-date-functions/index.md

3.3 KiB

title localeTitle
SQL Date Functions Funciones de fecha de SQL

Funciones de fecha de SQL

Introducción

Hay 61 funciones de fecha definidas en MySQL. No te preocupes, no los revisaremos todos aquí. Esta guía le dará 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:

  • Obteniendo la fecha actual
  • Fecha matematica
  • Fechas en una cláusula donde o tener

Obteniendo la fecha actual

Obtener la fecha del sistema puede ser muy útil para procesar datos utilizando 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; 
 ; 

imagen-1

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 el SQL.
  • Las siguientes dos columnas cortan 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 siguientes dos extractos solo el año y luego el año y el mes
  • Por último, pero no menos importante, hay un solo ejemplo de una de las muchas formas de formatear estas fechas.

Fecha matematica

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 para referencia.
  • La segunda columna es la diferencia de fecha (con fecha) entre el primero de enero de 2017 y la fecha del sistema.
  • Las dos últimas columnas son ejemplos de restar y agregar fechas.

En una cláusula donde o tener

Aquí hay dos ejemplos del uso de matematicas de fechas 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); 

imagen-1

Con respecto a la parte HAVING: tenga en cuenta que la mayoría 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 contra los datos completos y HAVING se ejecuta contra los datos agregados por la cláusula GROUP BY.

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