8791 sujets

Développement web côté serveur, CMS

Bonjour à vous !

Je débute en mysql et j'ai quelques petites questions à vous poser, qui pourront m'aider à resoudre mes petits problème :

1° dans une table, j'ai un champs date de naissance qui est de type "varchar(10)". Les dates sont inscrites de la sorte : dd/mm/yyyy.
J'aimerai convertir ce champs en type date yyyy-mm-dd.


2°Je dois créer un champs pseudo de type varchar(128) qui combinera la valeur du champs prenom et la valeur du champs nom. En gros Pseudo = prenom + nom en varchar (128)


Connaissez vous des requêtes pour arriver à ces résultat ?

Merci d'avance pour votre aide.

Ju'
Modifié par juloxy (15 Jan 2010 - 18:36)
Hello,

1° > Si tu as bien toujours une longueur de 10 pour la date alpha (donc 01/02/2009 et pas 1/2/2009) il suffit de rajouter un champ de type date (dans mon exemple date_naissance_date) et de faire :
UPDATE matable SET date_naissance_date = CONCAT(SUBSTRING(date_naissance_alpha, 7, 4), SUBSTRING(date_naissance_alpha, 4, 2), SUBSTRING(date_naissance_alpha, 1, 2))
Sinon il faudra passer par une moulinette PHP.

2° >
UPDATE matable SET pseudo = CONCAT(TRIM(prenom), TRIM(nom))
Heyoan a écrit :
Hello,

2° >
UPDATE matable SET pseudo = CONCAT(TRIM(prenom), TRIM(nom))


J'ai essayé, ca a marché merci beaucoup !



Par contre en ce qui concerne

Heyoan a écrit :
1° > Si tu as bien toujours une longueur de 10 pour la date alpha (donc 01/02/2009 et pas 1/2/2009) il suffit de rajouter un champ de type date (dans mon exemple date_naissance_date) et de faire :
UPDATE matable SET date_naissance_date = CONCAT(SUBSTRING(date_naissance_alpha, 7, 4), SUBSTRING(date_naissance_alpha, 4, 2), SUBSTRING(date_naissance_alpha, 1, 2))



Considérons que le champs qui contient la date de naissance s'appelle "date_naissance".
Je crée un nouveau champs "birth_date" qui contiendra la date de naissance mais au format que je désire (type date)

ma question est donc :

a quoi correspond dans ton code : "date_naissance_date" & "date_naissance_alpha"

Merci d'avance et un grand merci pour la premiere reponse

Ju'
juloxy a écrit :
a quoi correspond dans ton code : "date_naissance_date" & "date_naissance_alpha"
Euh... ben date_naissance_date correspond au champ de type date et date_naissance_alpha correspond au champ de type alphanumérique (varchar). Smiley rolleyes
Heyoan a écrit :
Euh... ben date_naissance_date correspond au champ de type date et date_naissance_alpha correspond au champ de type alphanumérique (varchar). Smiley rolleyes


Merci beaucoup, j'ai testé et fait fonctionner le truc. En plus j'ai compris.

Par contre j'ai une petite question. quand tu notes ca pour le dernier substring :


...SUBSTRING(date_naissance_alpha, 1, 2))


Pourquoi est-ce 1 et non 0 ? L'index ne se fait pas à 0 ?

Merci pour tout

Ju'
juloxy a écrit :
Pourquoi est-ce 1 et non 0 ? L'index ne se fait pas à 0 ?
Comme tu vois : non. Smiley smile