sql >> Base de Datos >  >> RDS >> Mysql

Conversión de cadena de fecha/hora a marca de tiempo de Unix en MySQL

El UNIX_TIMESTAMP() La función requiere un formato de fecha/hora válido para convertir correctamente, por lo que primero debe convertir su formato de fecha/hora existente a un formato válido/reconocido (incluido el año). Puede hacer esto usando STR_TO_DATE() de MySQL función, diciéndole en qué formato está pasando y concatenando en un valor de año codificado como siempre es 2016 en su caso.

STR_TO_DATE(CONCAT('2016-', <your date/time value>), '%Y-%d %b %h:%i%p')

A continuación, puede utilizar el UNIX_TIMESTAMP() función para convertir esa fecha válida a su marca de tiempo de Unix y actualizar todos esos registros en un solo paso:

UPDATE table_name
   SET new_timestamp = 
       UNIX_TIMESTAMP(STR_TO_DATE(CONCAT('2016-', timestamp), '%Y-%d %b %h:%i%p'));