[RESOLU] Convertir une date en timestamp via une requête MySQL

Avatar de l’utilisateur
Petit nouveau ! | 6 Messages

29 janv. 2017, 17:02

Bonjour à tous,

Je cherche à faire une conversion de toutes les dates d'une colonne en timestamp, et ce, via une requête MySQL : cela vous semble-t-il possible ?

Les dates dont j'ai hérité dans la table de ma base de données de l'application sur laquelle je bosse sont encodées selon 2 formats :
- date : 17-5-2005
- stamp : 2005-05-17 15:21:50

J'ai déjà fait en sorte de dupliquer la colonne "date" dans une seconde intitulée "timestamp".
Je cherche désormais à réaliser une update massive de cette colonne dupliquée et j'ai tenté ceci :

Code : Tout sélectionner

UPDATE table SET timestamp = unix_timestamp(date);
Malheureusement, c'est visiblement trop simple, mon SGBD me retourne l'erreur suivante :
Erreur dans la requête (1292): Incorrect datetime value: '17-5-2005'

Avez-vous une idée de la faisabilité technique de mon intention et de la manière dont je pourrais y parvenir, svp ?

Merci d'avance ! ;)

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7373 Messages

30 janv. 2017, 09:58

Bonjour,

Regarde du coté de la fonction MySQL : STR_TO_DATE() :
https://dev.mysql.com/doc/refman/5.7/en ... tr-to-date
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar de l’utilisateur
Petit nouveau ! | 6 Messages

31 janv. 2017, 19:43

Bonjour @rthur,

Merci pour ta réponse.
Bien que la requête soit méchamment lourde, ça fonctionne.

Code : Tout sélectionner

select id, date from matable where str_to_date(date,'%d-%m-%Y') > str_to_date('17-5-2015', '%d-%m-%Y') and str_to_date(date,'%d-%m-%Y') < str_to_date('17-6-2015', '%d-%m-%Y')
Pas de parade pour dupliquer ma colonne stamp ou date et convertir ses données en timestamp, alors ... ? :-/

Avatar de l’utilisateur
Petit nouveau ! | 6 Messages

31 janv. 2017, 22:10

Oh je viens de comprendre l'idée !

Code : Tout sélectionner

UPDATE `table` SET `column` = str_to_date( `column`, '%d-%m-%Y' );
Merci @rthur ! :D

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7373 Messages

31 janv. 2017, 23:12

Tout à fait :)
Quand tout le reste a échoué, lisez le mode d'emploi...