2010-04-01 103 views
26

如何檢測字符串是否包含特殊字符,如#,$,^,&,*,@ ,!等SQL Server 2005中?如何檢測一個字符串是否包含特殊字符?

+3

你們認爲* *特殊每 – Joey 2010-04-01 07:20:35

+3

字符是特殊以自己的方式。你將不得不更具體。 – 2010-04-01 07:21:14

+1

好吧,現在它變成了»什麼是>等<參考?«。 – Joey 2010-04-01 07:25:32

回答

43

假設的SQL Server:

例如如果類特殊字符作爲任何非字母數字字符:

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' 

只需添加到其他角色你不類特殊的方括號內

+4

這個答案起初讓我困惑,因爲它使用'LIKE', ^括號中的字符實際上表示'NOT' – Baodad 2014-08-22 21:22:57

+1

@AdaTheDev在這種情況下,我們如何從特殊字符中排除「 - 」? – aaronmallen 2015-03-27 18:44:49

+0

非常感謝你爲我工作。 – Ziggler 2015-10-09 15:58:00

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

+1:for such;) – Manish 2010-04-01 07:33:17

+0

不錯,我用這段代碼來簡化我的問題。我正在尋找這個** A **: '聲明@letra炭(1) 組@letra = 'A' SELECT COL1 ,COL2 ,COL3 FROM表WHERE COL1 LIKE '%' + @letra +'%'或col2 LIKE'%'+ @letra +'%'或col3 like'%'+ @letra +'%' ' – Bachask8 2017-10-02 22:44:16

相關問題