La función `CURDATE()` de MySQL devuelve la fecha actual en el formato `AAAA-MM-DD`. Se utiliza habitualmente para recuperar y comparar la fecha actual en consultas SQL.
Utilización
La función `CURDATE()` se utiliza cuando necesitas trabajar con la fecha actual en operaciones con datos, como filtrar registros o establecer valores de fecha por defecto. No requiere argumentos y puede utilizarse en las cláusulas `SELECT`, `INSERT`, `UPDATE` y `WHERE`.
Este ejemplo simplemente recupera la fecha actual del reloj del sistema del servidor MySQL.
2. Utilizar CURDATE() en una cláusula WHERE
sql
SELECT order_id, order_date
FROM orders
WHERE order_date =CURDATE();Con la tecnología de
En este ejemplo, se utiliza `CURDATE()` para filtrar los pedidos realizados en la fecha actual.
3. Insertar la fecha actual en una tabla
sql
INSERTINTOattendance(employee_id, date_checked_in)VALUES(123,CURDATE());Con la tecnología de
Aquí se utiliza `CURDATE()` para insertar automáticamente la fecha actual en la columna `date_checked_in` cuando se añade un nuevo registro.
4. Consulta compleja con aritmética de fechas
sql
SELECT employee_id
FROM attendance
WHERE date_checked_in =DATE_SUB(CURDATE(),INTERVAL1DAY);Con la tecnología de
Este ejemplo recupera los registros de los empleados que se registraron el día anterior a la fecha actual.
Consejos y buenas prácticas
Garantiza la coherencia horaria. Asegúrate de que tu aplicación y el servidor MySQL utilizan la misma configuración de zona horaria para evitar resultados inesperados.
Utiliza `CURDATE()` para valores sólo de fecha. Si necesitas tanto la fecha como la hora, considera utilizar `NOW()` en su lugar.
Combínalo con las funciones de fecha. Utiliza `CURDATE()` junto con otras funciones de fecha como `DATE_ADD()` para cálculos de fecha más complejos.
Ten en cuenta el reparto implícito. Al comparar `CURDATE()` con columnas datetime, puede producirse una fundición implícita, lo que podría afectar al rendimiento. Para optimizar, convierte explícitamente la columna datetime en una fecha utilizando `CAST(datetime_column AS DATE)`.
La función `CURDATE()` de MySQL devuelve la fecha actual en el formato `AAAA-MM-DD`. Se utiliza habitualmente para recuperar y comparar la fecha actual en consultas SQL.
Utilización
La función `CURDATE()` se utiliza cuando necesitas trabajar con la fecha actual en operaciones con datos, como filtrar registros o establecer valores de fecha por defecto. No requiere argumentos y puede utilizarse en las cláusulas `SELECT`, `INSERT`, `UPDATE` y `WHERE`.
Esta sintaxis devuelve la fecha actual como un valor de fecha.
Nota: `CURDATE()` y `CURRENT_DATE()` son sinónimos y pueden utilizarse indistintamente.
Ejemplos
1. Recuperación básica de la fecha actual
Este ejemplo simplemente recupera la fecha actual del reloj del sistema del servidor MySQL.
2. Utilizar CURDATE() en una cláusula WHERE
En este ejemplo, se utiliza `CURDATE()` para filtrar los pedidos realizados en la fecha actual.
3. Insertar la fecha actual en una tabla
Aquí se utiliza `CURDATE()` para insertar automáticamente la fecha actual en la columna `date_checked_in` cuando se añade un nuevo registro.
4. Consulta compleja con aritmética de fechas
Este ejemplo recupera los registros de los empleados que se registraron el día anterior a la fecha actual.
Consejos y buenas prácticas