Pregunta SQL: Cómo realizar una cadena no es igual


Tengo la siguiente consulta

SELECT * FROM table
WHERE tester <> 'username';

Estoy esperando que esto devuelva todos los resultados donde tester no es la cadena username, Pero esto no funciona. Creo que estoy buscando el inverso de Like operador, pero no estoy seguro? En mis búsquedas, he encontrado soluciones para los números (de ahí he salido <>), pero parece que esto no funciona con las cadenas.


75
2018-05-01 18:56


origen


Respuestas:


Tu where cláusula devolverá todas las filas donde tester no coincide username Y donde tester No es nulo.

Si desea incluir valores NULL, intente:

where tester <> 'username' or tester is null

Si busca cadenas que no contengan la palabra "nombre de usuario" como una subcadena, entonces like puede ser usado:

where tester not like '%username%'

119
2018-05-01 18:58



Pruebe la siguiente consulta

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

30
2018-05-01 18:58



La condición NULL-safe se verá así:

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

13
2017-09-01 18:00



select * from table
where tester NOT LIKE '%username%';

7
2018-05-01 19:00



los strcomp la función puede ser apropiada aquí (devuelve 0 cuando las cadenas son idénticas):

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

7
2018-06-18 04:37