如何检测字符串是否包含特殊字符?

Man*_*ish 30 sql sql-server

如何检测字符串是否包含特殊字符,如#,$,^,&,*,@ ,! 在SQL Server 2005中等?

Ada*_*Dev 48

假设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'
Run Code Online (Sandbox Code Playgroud)

只需在方括号内添加您不认为特殊的其他字符

  • 这个答案起初让我很困惑,因为它使用`LIKE',但括号中的^字符实际上意味着'不' (4认同)

Rei*_*ica 19

SELECT * FROM tableName WHERE columnName LIKE "%#%" OR columnName LIKE "%$%" OR (etc.)
Run Code Online (Sandbox Code Playgroud)