Dans ma table, j'ai un champ "Prénom" et un champ "Nom". Je souhaite sélectionner tous les enregistrements où le prénom + Space + StablisName est une certaine valeur.
J'ai essayé ceci: p> Mais cela ne fonctionne pas. Avec Google, j'ai trouvé quelque chose à propos de l'utilisation ||, mais je ne comprends pas vraiment comment je devrais utiliser cet opérateur. Notez que je ne veux pas utiliser un ou opérateur (quoi || est dans de nombreuses langues), mais quelque chose à concaténer 2 champs (avec un espace entre eux) et en utilisant un comme sur cela. P> Merci! P> p>
3 Réponses :
SELECT * FROM sam_users WHERE TRIM(Concat(user_firstname, ' ', user_lastname)) LIKE ?;
Avec MySQL, vous pouvez utiliser CONCAT code> :
SET @@sql_mode=REPLACE(@@sql_mode, 'PIPES_AS_CONCAT', '');
Oh bien, bien trop facile ... d'une manière ou d'une autre, j'ai manqué le mot clé Concat ... Merci pour le lien concernant Select *; C'est intéressant :)
Qu'en est-il d'utiliser Count (*)? Est-ce aussi une mauvaise chose?
@ BV202: Pas du tout. Count (*) CODE> est un cas particulier. Les colonnes elles-mêmes ne sont pas examinées pour le décompte (bien qu'ils soient pour toutes les autres clauses), juste les rangées correspondantes. Même sans cette optimisation, la modification d'une définition de table n'affectera pas compteur (*) code> d'une manière qui causerait des problèmes.
Merci beaucoup pour l'éxplication :)
dans SQL le Cependant, toutes les bases de données ne l'appliquent pas de cette manière et la syntaxe exacte dépend de la base de données spécifique. P>
|| code> opérateur est em> la concaténation de chaîne moyenne selon la norme (voir SQL 2008: 5.2). Le booléen ou l'opérateur est écrit ou code> dans SQL. p>
concat code> fonction. li>
+ code> opérateur. li>
ul>
De quel RDBMS s'agit-il? Et pourquoi utilisez-vous
comme code> plutôt que= code>?MySQL, mais j'utilise la bibliothèque PDO (PHP) afin de pouvoir être portable. J'utilise comme parce que je fais un champ de recherche ", le résultat devrait donc être une liste de tous les utilisateurs qui s'appelle le nom de la chaîne entrée.
@ BV202 - Pas sûr s'il y a une méthode de concaténation "la plus portable". Sera intéressé moi-même si l'une des réponses couvre cela.
Voulez-vous où user_firstname comme (?) Et user_lastname comme (?)?)?
Non, j'ai vraiment besoin de quelque chose comme le mot clé Concat
Sachez que tout le monde n'utilise pas son prénom et son nom de famille, et certaines personnes ne les ont même pas. Certaines personnes ont juste un seul nom. Certains ont des noms où le prénom est le nom de famille et non le nom de famille. Certaines personnes ont trois noms et leur dernier n'est pas normalement utilisé.
Pour référence sur les conventions de dénomination: noms personnels . Puisque 'Premier_Name Last_Name' décrit la commande mais pas la fonction des noms, ce n'est pas aussi mauvais qu'un schéma de nom de famille. Avoir un "nom complet" et "shortName" (il doit y avoir un meilleur terme pour un nom que quelqu'un est adressé par) colonnes est meilleur, car il englobe plus facilement les différentes conventions de dénomination.