如何检测字符串是否包含特殊字符,如#,$,^,&,*,@ ,! SQL server 2005中的其他等?
答案 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