Я думаю, вы хотите:
NOT LIKE '%[^a-z0-9.]%'
Это будет означать, что будут разрешены только буквы a
до z
, цифры от 0
до 9
и символ .
,Обратите внимание, что все или некоторые заглавные буквы могут быть разрешены, в зависимости от вашего сопоставления, и все строчные буквы, с a-z
.
%
являются многосимвольными подстановочными знаками.
The *Символ 1015 * (карат) означает «Любой отдельный символ, не входящий в указанный диапазон» . Так, например, 'Test' NOT LIKE '%[^A-z]%'
вернет TRUE, поскольку он содержит только символы в диапазоне A-z
(он не содержит никаких внешних символов.
SQL Server не поддерживает Regex (не изначальнов любом случае, он может использовать функции CLR), он имеет только простое сопоставление с образцом, о котором вы можете прочитать о здесь .