Opérateur LIKE de SQL avec des paramètres et des caractères génériques
J'ai une question où je veux retourner tous les Clients qui disposent d'une certaine chaîne de caractères dans le nom avec des caractères génériques de chaque côté. Donc, l'entrée peut être "Smith" et je veux le retour de toutes choses comme "John Smith" ou "Smith et Bros". Je veux [Client] pour être invité alors je l'ai mis en place le SQL comme ceci:
PARAMETERS Client Text ( 255 );
SELECT *
WHERE (((tbl_IncomingChecks.Client) Like'%' + [Client] + '%')
ORDER BY tbl_IncomingChecks.Client;
La requête ne retourne pas de résultat. S'il vous plaît aider
- Qui SGBD que vous utilisez?
- Il est probablement trop lente. Est-ce que votre prise en charge SQL
CONTAINS
l'utiliser si elle n'. - Concaténation de syntaxe dans l'Accès est
&
, pas+
- Il est généralement préférable d'utiliser & comme vous le dites, mais vous pouvez utiliser + aussi longtemps que vous comprenez comment + fonctionne avec les valeurs null.
Vous devez vous connecter pour publier un commentaire.
MS Access utilise * comme un joker pour ne pas %, de sorte que votre requête sera d'essayer de faire correspondre littéral de caractères"%". Utilisation * au lieu de cela, sauf si vous utilisez ADO.
http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspx
J'ai l'impression que votre problème est sur le " + " les opérateurs ne faut-il pas lire
Cela m'a mis dans DB2
Vous n'êtes pas à l'aide de votre déclaration
Comment sur l'utilisation de
REGEXP
fonction dans MYSQL?Ou tout simplement utiliser @client comme le
REGEXP
pour trouver tous les clients que contient ce nom du client:Que par des OP de mise à jour sur le SGBDR MS ACCESS
Si vous avez une version plus sophistiquée de modèle vous pouvez utiliser
Regexp
objet à l'intérieur d'un MS Access UDF. Cependant, dans le scénario actuel, vous êtes mieux avecLIKE Concat('*',@client,'*')
Ici est de savoir comment vous pouvez utiliser la fonction ci-dessus dans la requête:
MYSQL, ORACLE
MS Access UDF
. Sinon, vous pouvez juste remplacerREGEXP
avecLIKE
de s'insérer dans MS ACCESS.LIKE
fonction pour tirer quoi que ce soit. Comment le code de la lire?*
au lieu de%
, c'est le seul changement que vous devez faire pour votre propre requête. Je vous ai fourni avec une solution de rechange si un de ces jours, vous êtes dans les parages besoin de ces 😉