2010-03-02 21 views
42

Tengo una marca de tiempo de tipo UNIX almacenada en una columna INT en MySQL. ¿Cuál es la forma correcta de recuperar esto como MySQL DATETIME?MySQL: Convertir INT a DATETIME

(he encontrado la respuesta al volver a escanear la fecha funciones de MySQL, pero no ver la respuesta en SO. Imaginé que debería estar aquí.)

Respuesta

14
SELECT FROM_UNIXTIME(mycolumn) 
FROM mytable 
21
select from_unixtime(column,'%Y-%m-%d') from myTable; 
+0

ahhhh ... pero el momento :) A veces lo deseamos, incluido lo indicado por OP –

0

La función STR_TO_DATE(COLUMN, '%input_format') puede hacerlo, solo tiene que especificar el formato de entrada. Ejemplo: convertir p052011

SELECT STR_TO_DATE('p052011','p%m%Y') FROM your_table; 

El resultado: 2011-05-00