В синтаксисе LIKE , используемом в SQL Server, вы действительно можете использовать класс символов.
Например:
x LIKE '%[A-Z]%'
Что будет верно, если x содержит хотя бы 1 букву.
Кстати, в этом примере предполагается сопоставление без учета регистра.
^
в начале [...]
используется как отрицание этого.
Fe
x LIKE '%[^A-Z]%'
Что было бы верно, если бы x содержал хотя бы один символ, НЕ являющийся буквой.
Итак, при отрицании отрицания:
x NOT LIKE '%[^A-Z]%'
Это похоже на поиск x, который содержит только буквы, или является пустой строкой. Другими словами: x большинство НЕ содержит символ, который НЕ является буквой.
Но что-то вроде '152rew' также содержит цифры, поэтому оно ложно.