Mysql
 sql >> Base de données >  >> RDS >> Mysql

Conversion de la chaîne date/heure en horodatage unix dans MySQL

Le UNIX_TIMESTAMP() La fonction nécessite un format de date/heure valide pour être convertie correctement, vous devez donc d'abord convertir votre format de date/heure existant en un format valide/reconnu (y compris l'année). Vous pouvez le faire en utilisant le STR_TO_DATE() de MySQL fonction, en lui indiquant le format dans lequel vous transmettez et en concaténant une valeur d'année codée en dur, car il s'agit toujours de 2016 dans votre cas.

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

Vous pouvez alors utiliser le UNIX_TIMESTAMP() pour convertir cette date valide en votre horodatage Unix et mettre à jour tous ces enregistrements en une seule étape :

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