2010-04-01 7 views

Répondre

43

En supposant SQL Server:

par exemple si vous classe des caractères spéciaux comme tout qu'alphanumériques:

DECLARE @MyString VARCHAR(100) 
SET @MyString = 'adgkjb$' 

IF (@MyString LIKE '%[^a-zA-Z0-9]%') 
    PRINT 'Contains "special" characters' 
ELSE 
    PRINT 'Does not contain "special" characters' 

Il suffit d'ajouter à d'autres caractères que vous n'êtes pas classe spéciale, à l'intérieur des crochets

+4

Cette réponse m'a troublée au début, car elle utilise' LIKE' mais^le caractère entre les parenthèses signifie réellement 'NON' – Baodad

+1

@AdaTheDev comment excluons-nous "-" des caractères spéciaux dans ce scénario? – aaronmallen

+0

Merci beaucoup cela fonctionne pour moi. – Ziggler

19
SELECT * FROM tableName WHERE columnName LIKE "%#%" OR columnName LIKE "%$%" OR (etc.) 
+6

+1: pour etc;) – Manish

+0

Nice, j'ai utilisé ce code pour simplifier mon problème. Je cherchais ce ** á **: '@letra déclarer char (1) ensemble @letra = 'a' SELECT col1 , col2 , col3 FROM table WHERE col1 LIKE '%' + @letra + '%' OU col2 LIKE '%' + @letra + '%' OU col3 comme '%' + @letra + '%' ' – Bachask8

Questions connexes