Как определить, содержит ли строка специальные символы, такие как #, $, ^, &, *, @,! и т.д. в SQL Server 2005?
Как определить, содержит ли строка специальные символы?
Ответ 1
Предполагая 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'
Просто добавьте другие символы, которые вы не классифицируете как специальные, внутри квадратных скобок
Ответ 2
SELECT * FROM tableName WHERE columnName LIKE "%#%" OR columnName LIKE "%$%" OR (etc.)
Ответ 3
В 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