SQL: How to perform string does not equal

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.

1

6 Answers

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%'
1

Try the following query

select * from table
where NOT (tester = 'username')
0

NULL-safe condition would looks like:

select * from table
where NOT (tester <=> 'username')
2
select * from table
where tester NOT LIKE '%username%';

The strcomp function may be appropriate here (returns 0 when strings are identical):

 SELECT * from table WHERE Strcmp(user, testername) <> 0;

Another way of getting the results

SELECT * from table WHERE SUBSTRING(tester, 1, 8) <> 'username' or tester is null

You Might Also Like