IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

concatenation


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 56
    Par défaut concatenation
    Bonjour à tous , Voila mon probleme :

    J'ai fais un annuaire interne dans ma colectivité. J'utilise jquery pour afficher dynamiquement les personnes présent dans la base.
    Une fois la personne trouvée son nom et son prenom sont inscrit dans mon input et l'information est transmise par post.
    J'ai donc un nom et un prenom dans une variable $nom.

    Mon probleme est le suivant :

    vue que mon $nom = Dupond Francois (c'est un exemple)

    je voudrai faire une requete du type :

    Select * from annuaire where nom+prenom like $nom



    Je voudrai qu'il me concatene les 2 champs nom et prenom afin de pouvoir faire la condition.

    J'ai essayer avec And etc... mais ca ne marche pas. Il doit y avoir une solution que je connais pas.

    Version du client MySQL: 5.0.45

    Merci a tous

  2. #2
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut
    Bonjour

    en 2 secondes tu trouves pour MySQL:

    CONCAT(str1,str2,...)

    Retourne une chaîne représentant la concaténation des arguments. Retourne NULL si un des arguments est NULL. Cette fonction peut prendre plus de 2 arguments.
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 56
    Par défaut
    Merci beaucoup ca marche.Est il possible de definir par exemple un espace.

    Je m'explique :

    Si dans mon input il y a Dupond Francois; Comme il y a l espace ca ne marche pas.
    MAintenant si j ai DupondFrancois la ca marche.

    C'est possible ?

  4. #4
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 636
    Par défaut
    Si ton champ est continu, tu peux insérer un espace entre les 2 avec concat(str1,' ',str2)

    maintenant si ton espace est dans un même champ : tout ce qu'il y a c'est :

    CONCAT(str1,str2,...)

    Retourne une chaîne représentant la concaténation des arguments. Retourne NULL si un des arguments est NULL. Cette fonction peut prendre plus de 2 arguments. Si un argument est un nombre, il sera converti en son équivalent sous forme de chaîne de caractères :

    mysql> SELECT CONCAT('My', 'S', 'QL');
    -> 'MySQL'
    mysql> SELECT CONCAT('My', NULL, 'QL');
    -> NULL
    mysql> SELECT CONCAT(14.3);
    -> '14.3'
    CONCAT_WS(separator, str1, str2,...)

    La fonction CONCAT_WS() signifie CONCAT With Separator, c'est-à-dire "concaténation avec séparateur. Le premier argument est le séparateur utilisé pour le reste des arguments. Le séparateur peut être une chaîne de caractères, tout comme le reste des arguments. Si le séparateur est NULL, le résultat sera NULL. Cette fonction ignorera tous les arguments de valeur NULL et vides, hormis le séparateur. Le séparateur sera ajouté entre tous les arguments à concaténer :

    mysql> SELECT CONCAT_WS(",","Premier nom","Deuxième nom","Dernier nom");
    -> 'Premier nom,Deuxième nom,Dernier nom'
    mysql> SELECT CONCAT_WS(",","Premier nom",NULL,"Dernier nom");
    -> 'Premier nom,Dernier nom'
    en général nom et prénom sont dans deux champs séparés..


    Citation Envoyé par figatelliSTI Voir le message
    Merci beaucoup ca marche.Est il possible de definir par exemple un espace.

    Je m'explique :

    Si dans mon input il y a Dupond Francois; Comme il y a l espace ca ne marche pas.
    MAintenant si j ai DupondFrancois la ca marche.

    C'est possible ?
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 56
    Par défaut
    Oui ils sont bien dans des champs separé mais t'inquiete ca marche...

    Merci de ta reponse et de ton aide précieuse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Concatener la date au du nom fichier
    Par peppena dans le forum Linux
    Réponses: 5
    Dernier message: 09/02/2009, 12h53
  2. Concaténer deux fichiers Ligne/Ligne avec SH
    Par guiltouf dans le forum Linux
    Réponses: 7
    Dernier message: 22/05/2007, 14h35
  3. [VB6] Concaténation de deux controles RTF facile
    Par bbbastien dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/02/2004, 12h58
  4. Concaténation de chaine de caractères
    Par joy dans le forum Linux
    Réponses: 5
    Dernier message: 07/07/2003, 13h03
  5. probleme de concatenation
    Par cyna dans le forum C
    Réponses: 2
    Dernier message: 23/08/2002, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo