Instruction SELECT substr dans la Clause where
J'ai ici, exemple de tableau avec trois champs.
TableA
FieldA FieldB FieldC
======================================
123XYZ456 XYZ John
124NNN333 NNN Jenny
232XPT124 XPT Jade
456XXX345 XXX James
FieldA
a un ngth de 9. Je n'ai pas la conception de cette table et quelques applications sont déjà à l'utiliser.
Je veux choisir FieldB
et FieldC
avec des conditions de contre FieldA
.
À l'aide de cette instruction sql:
SELECT FieldB,
FieldC
FROM TableA
WHERE FieldA LIKE Concat(@paramA, '%', @paramB)
Je ne peux pas obtenir mon résultat souhaité. Lorsque j'essaie de recherche avec paramA valeur de 12
et paramB valeur de ''
, je reçois le 2
résultats:
FieldA FieldB FieldC
======================================
123XXX456 XXX John
124XXX333 XXX Jenny
parce qu'évidemment il correspond 12%
et ce n'est pas ce que je veux. Je veux que les paramètres doivent correspondre à l'index correct de la chaîne.
Si je recherche pour paramA = '12'
et paramB = ''
alors il ne doit avoir aucun résultat. Pour obtenir les champs (FieldB
, FieldC
), j'ai besoin de corriger les valeurs de paramA = '123'
et paramB = '456'
de sorte qu'il sera de retour XYZ
et John
. Si je veux retourner James
puis-je donner paramA = '456'
et paramB = '345'
Comment pourrais-je construire correctement une Instruction SQL pour cela? Une idée? Merci.
Exactement! C'est ce que je voulais.
OriginalL'auteur John Woo | 2012-03-09
Vous devez vous connecter pour publier un commentaire.
Utilisation
GAUCHE()
etvers la DROITE()
:Vous êtes la plupart de bienvenue. Heureux que nous pourrions les aider.
+1 pour une solution de travail, mais la question qui reste est alors pourquoi n'est pas dynamique COMME travail?
La dynamique pourrait fonctionner si vous restreint d'entrée.
OriginalL'auteur bernie
OriginalL'auteur Teja
Vous n'êtes pas clair pourquoi vous êtes même en tenant paramB vierge dans votre validation de la saisie, mais pour obtenir exactement le comportement que vous avez décrit, vous pourriez simplement pour ce cas, c'est à dire:
OriginalL'auteur SpliFF
Comme suit: e.g tableau de classification: les Foyers en Amérique, les Terres en Amérique etc..
Résultat: Des Maisons De
OriginalL'auteur Sam Adah