0
votes

Rechercher des enregistrements qui n'ont pas de caractères spécifiques

J'ai une table qu'il a une colonne nom . L'utilisateur peut spécifier certains caractères afin que la colonne Nom ne soit pas contenant tous ces caractères. Comment puis-je le faire de manière dynamique pour un nombre inconnu de caractères?

merci


0 commentaires

3 Réponses :


0
votes

Utilisez une expression régulière avec pas comme "% [ton caractère]%"


5 commentaires

Ok merci mais comment?


Vous devriez piler tout le charcuter à l'intérieur [] .Pour exemple que vous avez '' ABC "'' '' '' '' '' '' '' l'utiliser pas comme [abc], si vous avez" ABCD ", utilisez-le [ABCD]. Où est la confusion.


Considérez ces caractères: A , B , C Je souhaite sélectionner des noms qui pas comme n '% a%' et non N '% b%' et pas comme n '% c%'


Que diriez-vous de quelque chose comme ça ... où colname pas dans ('a "," b "," c ", ...)


Si vos personnages sont un, b, c alors ce ne serait pas comme "%% [A | B | C]%"



1
votes

Essayez ceci:

select substring(a.b, v.number + 1, 1) letter
from (select 'WCRTV' b) a
join master..spt_values v on v.number < len(a.b)
where v.type = 'P'


0 commentaires

1
votes

Si vous souhaitez trouver des noms contenant les caractères interdits, utilisez comme : xxx

par exemple, si les caractères à ignorer sont des chiffres, alors @forbiden_Caracters contiendrait '0123455789' .

Si les caractères ont été stockés dans une table, vous pouvez utiliser joindre : xxx


0 commentaires