Как обнаружить, если строка содержит специальные символы?

Как обнаружить, если строка содержит специальные символы как #, $, ^,&, *! и т.д. в SQL-сервере 2005?

30
задан AdaTheDev 1 April 2010 в 07:40
поделиться

3 ответа

Предполагая 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'

Просто добавьте к другим символам, которые вы не классифицируете как специальные, внутри квадратных скобок

48
ответ дан 27 November 2019 в 23:32
поделиться
SELECT * FROM tableName WHERE columnName LIKE "%#%" OR columnName LIKE "%$%" OR (etc.)
19
ответ дан 27 November 2019 в 23:32
поделиться

] В 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

1
ответ дан 27 November 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: