[SQL] Format date [Résolu/Fermé]

Signaler
-
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
-
Salu à tous
J'ai un petit problème avec une table que j'ai crée avec PHPMYADMIN, en fait j'ai un fichier de type CSV, et je dois récupérer les données du ffichier pour les stockées dans ma table.
Le problème est le suivant pour la date, dans le fichier CSV le format est le suivant YYYY MM DD et dans ma table le champs date à le format suivant YYYY-MM-DD, je voulais savoir si il y a une requête qui permet de modifier le format du champ date.
Merci

J'ai essayer ALTER SESSION SET NLS_DATE_FORMAT ='YYYY-MM-DD' Mais ca marche pas :(
Merci de m'aider c cool

2 réponses

Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
122
Et tu fais un LOAD DATA FROM FILE ?
Dans ce cas :
DATE_FORMAT("2000-08-07","%d/%m/%Y")

Ou tu utilises un peu de PHP par hasard aussi ?
Sinon :


Je suis désolé mais je ne comprends pas ce que tu dis. J'ai essayé de modifié le format de la date sous PHPMYADMIN en fait.
Si tu peux me dire ce que je dois faire ca serait cool.
Merci d'avance.
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
122
Ben moi je vois pas vraiment ce que tu veux faire...
Tu veux changer le format d'un champ DATE d'une table SQL ?
Tu ne peux pas... SQL ne supporte qu'un seul format de date YYYY-MM-DD
Donc il faut que tu changes ta date dans ton fichier CSV.
Ou plutot, change ton type de champ date: met le en TEXT.
Ensuite, tu importe tes donnees du fichier CSV dans SQL avec un LOAD DATA INFILE (http://dev.mysql.com/doc/mysql/fr/load-data.html).
Et ensuite, tu fais un script PHP qui boucle sur ta table et qui te change tous tes champs pour les remettre au bon format.
Enfin, tu remet ton type de champ en DATE.

SQL tout seul, je ne sais pas s'il sait faire ca, je vais me renseigner, mais je doute...


Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
122
Ah si ! On dirait que

SELECT STR_TO_DATE('03.10.2003 09.20', '%d.%m.%Y %H.%i')
-> 2003-10-03 09:20:00

est faite pour ca !

http://dev.mysql.com/doc/mysql/fr/date-and-time-functions.html
Merci de m'avoir aidé c super cool de ta part, je pense que je vais slt changer le type de mon chps date et ca marchera.
Sur ce, je te dis a plus et encore merci
Messages postés
515
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
28 février 2007
122 > reda
Pas de quoi !
Bon courage, et oublie pas de mettre résolu sur ton post ;)

Bye !