OVH Cloud OVH Cloud

changer de varchar en date

3 réponses
Avatar
ND
Bonjour,

J'aimerais soumettre à votre sagacité un de mes soucis du moment :

Dans ma base de données Mysql, j'ai deux champs - date_debut et date_fin -
du style "j/mm/aa" ou "jj/mm/aa" en varchar.

Je me suis aperçu tardivement que la solution varchar était loin d'être la
meilleure.

J'aimerais donc changer mes champs varchar en champs date. Mais comment
faire ça sans perdre les enregistrements ?

Merci pas avance pour votre aide !


ND

3 réponses

Avatar
ND
Merci pour cette réponse très instructive.

Il me reste cependant un problème : comment faire quand le chiffre du jour
est pour les 9 premiers jours avec 1 chiffre et le reste avec 2 chiffres ?

Merci d'avance !

ND
Avatar
Rue des Prairies
ND wrote:
Merci pour cette réponse très instructive.

Il me reste cependant un problème : comment faire quand le chiffre du jour
est pour les 9 premiers jours avec 1 chiffre et le reste avec 2 chiffres ?

Merci d'avance !

ND




Bonsoir,

Essaie ceci :

new_date = concat_ws('-',
substring(old_date,locate('/',old_date,4)+1),
substring(old_date,locate('/',old_date,1)+1,2),
substring(old_date,1,locate('/',old_date,1)-1)
)


Olivier.
Avatar
ND
Bonjour Olivier,

Ca fonctionne à la perfection et pour tous les cas de figure.

Tu m'enlève une sacrée épine du pied !!

Merci beaucoup, Olivier.

Cependant, je n'ai pas tout compris sur ce qui se passait exactement. Te
serait-il possible d'expliquer la syntaxe de ta requête ?

Merci d'avance !

ND