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

时间:2010-04-01 07:19:34

标签: sql sql-server

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

3 个答案:

答案 0 :(得分:46)

假设SQL Server:

e.g。如果您将特殊字符分类为非字母数字:

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'

只需在方括号

中添加您不认为特殊的其他字符

答案 1 :(得分:19)

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

答案 2 :(得分:1)

在postgresql中,您可以在WHERE子句中使用正则表达式。 查看http://www.postgresql.org/docs/8.4/static/functions-matching.html

MySQL有类似的东西:http://dev.mysql.com/doc/refman/5.5/en/regexp.html