2010-04-01 121 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

相关问题