Convertir el campo de marca de tiempo a la fecha en Mysql Query
-
Convierta
Timestamp
en MySQL usando el formato de fecha -
Convierta la marca de tiempo en MySQL usando
Unixtime
-
Convierta
Unixtime
en MySQL usando Cast
Este artículo tutorial le mostrará cómo convertir un campo timestamp
a un campo de fecha en una consulta MySQL. Esto demuestra cómo utilizar el formato al consultar los datos correctamente.
Convierta Timestamp
en MySQL usando el formato de fecha
El tipo de dato TIMESTAMP
le permite registrar tanto la fecha como la hora. Tiene 19 caracteres fijos que permitirán un rango de fechas desde el primer segundo del 1 de enero de 1970 hasta el diecinueve de enero de 2038, exactamente a las 3 horas, 14 minutos y 7 segundos.
La función DATE_FORMAT
le permitirá tomar un campo de una tabla y convertirlo al formato deseado en una consulta MySQL. El siguiente es un valor de la tabla operaciones
. Eso registra los detalles de cualquier evento operativo, como un cierre, en una fábrica.
| shutdown |
| ------------------- |
| 2021-12-31 09:45:07 |
El siguiente es un ejemplo de una conversión que tomará la columna shutdown
y la convertirá de una timestamp
con el formato predeterminado YYYY-MM-DD HH:MM:SS
a una fecha con el formato DD-MM-YYY
.
CREATE TABLE operations (
user TEXT NOT NULL,
shutdown TIMESTAMP
);
INSERT INTO operations VALUES ('Mark', '2021-12-31 09:45:07');
SELECT DATE_FORMAT(operations.shutdown, '%d %m %Y')
AS 'Shutdown Date'
FROM operations
Producción :
| Shutdown Date |
|:--------------|
| 31 12 2021 |
También puede optar por incluir la hora en el formato de fecha final incluyendo %H
, %i
y %s
para los valores de hora, minuto y segundo, respectivamente.
CREATE TABLE operations (
user TEXT NOT NULL,
shutdown TIMESTAMP
);
INSERT INTO operations VALUES ('Mark', '2021-12-31 09:45:07');
SELECT DATE_FORMAT(operations.shutdown, '%d %m %Y %h%:%i%:%s')
AS 'Shutdown Date'
FROM operations
Producción :
| Shutdown Date |
|:---------------------|
| 31 12 2021 09:45:07 |
El símbolo %i
se utiliza para minutos ya que %m
ya está asignado a valores numéricos mensuales.
Convierta la marca de tiempo en MySQL usando Unixtime
Si el timestamp
está en su formato adecuado, el formato de fecha/hora 31 12 2021 09:45:07
podría verse así: 1640943907
. Puede usar FROM_UNIXTIME
para convertir la secuencia de números a un formato de fecha/hora.
CREATE TABLE operations (
user TEXT NOT NULL,
shutdown int(11)
);
INSERT INTO operations VALUES ('Mark', 1640943907);
SELECT DATE_FORMAT(FROM_UNIXTIME(operations.shutdown), '%d %m %Y %h%:%i%:%s')
AS 'Shutdown Date'
FROM operations
Salir:
| Shutdown Date |
|:---------------------|
| 31 12 2021 09:45:07 |
Como se vio anteriormente, la marca de tiempo se convirtió al mismo formato simplemente agregando FROM_UNIXTIME
para convertir la secuencia de números al formato deseado.
Convierta Unixtime
en MySQL usando Cast
También puede usar CAST
en lugar de DATE_FORMAT
para convertir el formato UNIXTIME
en una fecha.
CREATE TABLE operations (
user TEXT NOT NULL,
shutdown int(11)
);
INSERT INTO operations VALUES ('Mark', 1640943907);
SELECT CAST(FROM_UNIXTIME(operations.shutdown)
AS DATE)
AS 'Shutdown Date'
FROM operations
Producción :
| Shutdown Date |
|:--------------|
| 2021-12-31 |
Sin embargo, este método restringe su capacidad para formatear la fecha como desee, por lo que se prefiere usar DATE_FORMAT
.