¿Hay alguna forma de convertir cadenas a la marca de tiempo UNIX en MySQL?String to timestamp en mysql
Por ejemplo, tengo la cadena 2011-12-21 02:20pm
que debe estar en formato de marca de tiempo unix.
¿Hay alguna forma de convertir cadenas a la marca de tiempo UNIX en MySQL?String to timestamp en mysql
Por ejemplo, tengo la cadena 2011-12-21 02:20pm
que debe estar en formato de marca de tiempo unix.
UNIX_TIMESTAMP()
hace el truco:
SELECT UNIX_TIMESTAMP('2011-12-21 14:20:00');
Sin embargo, la función UNIX_TIMESTAMP()
Sólo se necesita un estándar de MySQL fecha formateada. Si desea utilizar la notación AM/PM, tendrá que utilizar STR_TO_DATE
primero como esto:
SELECT UNIX_TIMESTAMP(
STR_TO_DATE('2011-12-21 02:20pm', '%Y-%m-%d %h:%i%p')
);
Aunque @ a'r ya ha dado la respuesta correcta, sigue siendo algo que me gustaría añadir aquí es que la función de dos parámetros STR_TO_DATE(), el formato de 'cadena de fecha' y la cadena de 'formato de fecha' deben tener una ubicación coincidente de '-' y ':'.
Por ejemplo siguiente 4 consultas devuelven exactamente el mismo resultado 2014-05-28 11:30:10
SELECT STR_TO_DATE('2014-05-28 11:30:10','%Y-%m-%d %H:%i:%s');
SELECT STR_TO_DATE('20140528 11:30:10','%Y%m%d %H:%i:%s');
SELECT STR_TO_DATE('2014-05-28 113010','%Y-%m-%d %H%i%s') ;
SELECT STR_TO_DATE('20140528 113010','%Y%m%d %H%i%s');
Nota: los 2 params a STR_TO_DATE() función en cada consulta tiene una ubicación coincidente para '-' y ':'
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp – cristian