Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Convertendo string de data/hora para timestamp unix no MySQL


O UNIX_TIMESTAMP() A função requer um formato de data/hora válido para converter corretamente, então você precisa converter seu formato de data/hora existente para um formato válido/reconhecido (incluindo o ano) primeiro. Você pode fazer isso usando o STR_TO_DATE() do MySQL função, informando qual formato você está passando e concatenando em um valor de ano codificado, pois é sempre 2016 no seu caso.
STR_TO_DATE(CONCAT('2016-', <your date/time value>), '%Y-%d %b %h:%i%p')

Você pode então usar o UNIX_TIMESTAMP() função para converter essa data válida para seu timestamp unix e atualizar todos esses registros em uma única etapa:
UPDATE table_name
   SET new_timestamp = 
       UNIX_TIMESTAMP(STR_TO_DATE(CONCAT('2016-', timestamp), '%Y-%d %b %h:%i%p'));