I have the following query
SELECT * FROM table
WHERE tester <> 'username';
I am expecting this to return all the results where tester is not the string username
, But this not working. I think I am looking for the inverse of the Like
operator but I am not sure? In my searches I have found solutions for numbers (that's where i got <> from), but this seems to not be working with strings.
This question is related to
mysql
Your where
clause will return all rows where tester
does not match username
AND where tester
is not null.
If you want to include NULLs, try:
where tester <> 'username' or tester is null
If you are looking for strings that do not contain the word "username" as a substring, then like
can be used:
where tester not like '%username%'
Another way of getting the results
SELECT * from table WHERE SUBSTRING(tester, 1, 8) <> 'username' or tester is null
select * from table
where tester NOT LIKE '%username%';
Try the following query
select * from table
where NOT (tester = 'username')
NULL-safe condition would looks like:
select * from table
where NOT (tester <=> 'username')
The strcomp
function may be appropriate here (returns 0 when strings are identical):
SELECT * from table WHERE Strcmp(user, testername) <> 0;
Source: Stackoverflow.com