The point Dave is making is that you do not use ! or ^ to indicate "not" in SQL, so that the thing you are "missing" is understanding the syntax of the tool you are trying to use.
There are various techniques that you can use to avoid using NOT LIKE (or NOT IN) here is one example:
create table demo ([data] varchar(255))
insert into demo ([data]) values
('words without the offending letter'),
('sentence that contains the letter a')
select *
from demo
where patindex('%a%', [data]) = 0
This returns
words without the offending letter
Documentation
PATINDEX (Transact-SQL) | Microsoft Docs[
^]
Alternatives can be found via
Google[
^]