Convertir el campo de marca de tiempo a la fecha en Mysql Query

Raymond Peter 25 marzo 2022
  1. Convierta Timestamp en MySQL usando el formato de fecha
  2. Convierta la marca de tiempo en MySQL usando Unixtime
  3. Convierta Unixtime en MySQL usando Cast
Convertir el campo de marca de tiempo a la fecha en Mysql Query

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.

Artículo relacionado - MySQL Timestamp