Mysql
 sql >> Database >  >> RDS >> Mysql

Conversione della stringa di data/ora in timestamp unix in MySQL

Il UNIX_TIMESTAMP() la funzione richiede un formato di data/ora valido per la conversione corretta, quindi è necessario convertire prima il formato di data/ora esistente in un formato valido/riconosciuto (compreso l'anno). Puoi farlo usando STR_TO_DATE() di MySQL funzione, indicando il formato in cui stai passando e concatenando in un valore anno codificato poiché nel tuo caso è sempre il 2016.

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

È quindi possibile utilizzare UNIX_TIMESTAMP() funzione per convertire quella data valida nel tuo timestamp Unix e aggiornare tutti quei record in un unico passaggio:

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