Obtenga la fecha y hora actual en MySQL
- Obtenga la fecha y hora actual en MySQL
-
la función
AHORA()
-
la función
CURRENT_TIMESTAMP()
-
la función
SYSDATE()
Hoy, aprenderemos NOW()
, CURRENT_TIMESTAMP()
(también escrito como CURRENT_TIMESTAMP
) y SYSDATE()
para obtener la fecha y hora actual en MySQL. También veremos la comparación entre estas tres funciones.
Obtenga la fecha y hora actual en MySQL
Tenemos tres métodos para obtener la fecha y hora actual en MySQL. Estos métodos incluyen NOW()
, CURRENT_TIMESTAMP()
también escrito como CURRENT_TIMESTAMP
, SYSDATE()
. Podemos usarlos fácilmente en la instrucción INSERT
de la siguiente manera.
Código de ejemplo:
# use NOW()
INSERT INTO student_attendance(ID, ATTENDANCE)
VALUES(1, NOW());
# use CURRENT_DATETIME
INSERT INTO student_attendance(ID, ATTENDANCE)
VALUES(1, CURRENT_DATETIME);
# use SYSDATE()
INSERT INTO student_attendance(ID, ATTENDANCE)
VALUES(1, SYSDATE());
Como tenemos varias formas de insertar la fecha y la hora actuales, es importante comprender la diferencia entre ellas.
Aclarará cuándo y dónde utilizar uno de los métodos mencionados. A continuación se proporciona una breve comparación de NOW()
, CURRENT_TIMESTAMP()
y SYSDATE()
.
la función AHORA()
La fecha y la hora son devueltas por el método NOW()
dependiendo del contexto que estemos usando. Por ejemplo, el método NOW()
devuelve la fecha y la hora en formato de cadena como "YYYY-MM-DD HH-MM-SS"
si el contexto es una cadena.
Devuelve en un formato numérico como YYYYMMDDHHMMSS
si la función usa un contexto numérico. Devuelve el tiempo constante que muestra el tiempo en el que esta declaración en particular comienza a ejecutarse.
Está disponible y se puede utilizar en MySQL versión 4.0 y superior.
la función CURRENT_TIMESTAMP()
También podemos escribir CURRENT_TIMESTAMP()
como CURRENT_TIMESTAMP
. Devuelve la fecha y hora actual como "YYYY-MM-DD HH-MM-SS"
o YYYYMMDDHHMMSS
si la función usa el contexto de cadena o el contexto numérico, respectivamente.
El sinónimo de CURRENT_TIMESTAMP
incluye las funciones NOW()
y CURRENT_TIMESTAMP()
. Ejecute la siguiente consulta para ver el mismo resultado.
SELECT NOW(), CURRENT_TIMESTAMP, CURRENT_TIMESTAMP();
PRODUCCIÓN:
NOW() |
CURRENT_TIMESTAMP |
CURRENT_TIMESTAMP() |
---|---|---|
2022-04-26 11:40:25 | 2022-04-26 11:40:25 | 2022-04-26 11:40:25 |
Está disponible en MySQL versión 4.0 y superior. También genera un tiempo constante que representa el momento en que esta consulta específica comienza a ejecutarse.
la función SYSDATE()
Al igual que las funciones NOW()
y CURRENT_TIMESTAMP()
, también devuelve la fecha y la hora actual según el contexto utilizado por esta función. El contexto puede ser una cadena o numérico.
Para el contexto de cadena y numérico, devuelve como "YYYY-MM-DD HH:MM:SS"
y YYYYMMDDHHMMSS
, respectivamente. La función SYSDATE()
devuelve la hora exacta en que se ejecuta la consulta.
Después de revisar la documentación de MySQL, podemos decir que hay una sutil diferencia entre SYSDATE()
y NOW()
. Recuerde, NOW()
, CURRENT_TIMESTAMP
y CURRENT_TIMESTAMP()
devuelven los mismos resultados.
Ejecute la siguiente consulta para notar la diferencia.
SELECT NOW(), SYSDATE(), CURRENT_TIMESTAMP(),
SLEEP(5), NOW(), SYSDATE(),CURRENT_TIMESTAMP();
PRODUCCIÓN:
Todo permanece constante en la salida anterior excepto el resultado producido por la función SYSDATE()
antes y después de la función SLEEP()
. El método NOW()
devuelve el tiempo constante que representa cuando la consulta comienza a ejecutarse.
En un activador o un procedimiento almacenado (también conocido como función almacenada), NOW()
muestra el momento en que la instrucción o función desencadenante comienza a ejecutarse. Mientras que el SYSDATE()
devuelve la hora exacta en la que se ejecuta (ejecuta).