La moitié des champs dates sont mals formatés
Ferméblackmefias_3350 Messages postés 706 Date d'inscription dimanche 20 septembre 2020 Statut Membre Dernière intervention 8 mars 2024 - 9 nov. 2022 à 15:49
- La moitié des champs dates sont mals formatés
- Moitié a4 - Guide
- My dates ✓ - Forum Réseaux sociaux
- La date de livraison sera communiquée dès que possible - Forum Vos droits sur internet
- Tv samsung écran à moitié sombre - Forum TV & Vidéo
- Alignez la date à droite. alignez "monsieur le directeur” à gauche. alignez des deux côtés le texte du courrier. ✓ - Forum Word
3 réponses
8 nov. 2022 à 13:57
Bonjour
Dans une base de données MySQL, une date ça s'enregistre dans un champ de type date... Et non pas dans in varchar !!
8 nov. 2022 à 14:21
Bonjour,
justement je n'ai pas eu le choix.
Ce n'est pas moi qui a créé la base de données,
Ils ont fait un export de plusieurs tables de l'as400, j'ai donc obtenu 3 fichiers excels. Lorsqu'ils ont créés la base de données, j'ai vu la structure et j'ai constaté que les champs dates étaient en varchar.
J'ai tenté, sur un champ date, de modifier le type en dateTime, mais toute la colonne a été remodelé et les données sont devenue incohérente, exemple :
Avant modification on a : 31/12/14
si je transforme le champ date en dateTIme j'ai un truc du genre :2031-12-14 00:00:00
Donc je ne peux pas modifier la structure de la table.
Ce que je ne comprend pas , c'est que lorsque je fais ma requete, la plupart des valeurs sont corrects, mais j'ai toujours une poignée de données, où le jour et le mois sont inversés ...
Merci
9 nov. 2022 à 14:32
Cela n'a pas de sens d'utiliser date_format() sur un champ de type texte.
C'est peut-être dans Excel que la transformation non souhaitée a eu lieu.
Si tu as un champ texte dans lequel le mois et la date sont toujours inversé, penses-tu qu'il est difficile de corriger cela? Connais-tu les fonctions de manipulation de chaines de caractères?
Tu essaies une méthode foireuse et tu en déduis rapidement "je ne peux pas modifier la structure de la table".
Le plus logique, c'est de créer quatre nouveaux champs de type date, et d'y mettre les valeurs en utilisant la fonction date().
9 nov. 2022 à 15:49
Bonjour,
En mettant la fonction DateTime il est normal d'avoir cet affichage 2031-12-14 00:00:00
car cette fonction s'écrit de cette façon :
=DATETIME([Année],[Mois],[Jour],[Heure],[Minute],[Seconde])
pour votre cas, il suffit de mettre DATE(dd,mm,yy) vous aurez ainsi la date à la française (Jour, Mois, Année)
par contre si vous voulez avoir l'année sur 4 chiffres, vous devrez faire comme ceci : DATE(dd,mm,yyyy).