Мозг болит, не работает НЕ как (не диапазон)
SELECT 1 WHERE 'foo' NOT LIKE '%[^0-9]%'
SELECT 1 WHERE '123' NOT LIKE '%[^0-9]%'
SELECT 1 WHERE 'aa1' NOT LIKE '%[^0-9]%'
SELECT 1 WHERE '1bb' NOT LIKE '%[^0-9]%'
SELECT 1 WHERE NULL NOT LIKE '%[^0-9]%'
SELECT 1 WHERE ' ' NOT LIKE '%[^0-9]%'
--FAIL. Need extra check. Perhaps NULLIF
SELECT 1 WHERE '' NOT LIKE '%[^0-9]%'
Двойной минус и сделки любой длины