J'ai une table qu'il a une colonne merci p> nom code>. 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? P>
3 Réponses :
Utilisez une expression régulière avec pas comme "% [ton caractère]%" p>
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 code>,
B code>,
C code> Je souhaite sélectionner des noms qui
pas comme n '% a%' et non N '% b%' et pas comme n '% c%' code>
Que diriez-vous de quelque chose comme ça ... où colname pas dans ('a "," b "," c ", ...) code>
Si vos personnages sont un, b, c alors ce ne serait pas comme "%% [A | B | C]%"
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'
Si vous souhaitez trouver des noms contenant les caractères interdits, utilisez par exemple, si les caractères à ignorer sont des chiffres, alors Si les caractères ont été stockés dans une table, vous pouvez utiliser comme code>:
@forbiden_Caracters code> contiendrait
'0123455789' code>. p>
joindre code> : p>