У меня следующий запрос
SELECT * FROM table
WHERE tester <> 'username';
Я ожидаю, что это вернет все результаты, в которых тестер не является строкой username
, но это не работает. Я думаю, что ищу обратный Like
оператор, но не уверен? В своих поисках я нашел решения для чисел (отсюда я получил <>), но, похоже, это не работает со строками.
NULL
ценностями? (NULL <> 'username'
=>NULL
=> ложь)?Ответы:
Ваше
where
предложение вернет все строки, гдеtester
не совпадаетusername
И, гдеtester
не равно нулю.Если вы хотите включить NULL, попробуйте:
Если вы ищете строки, которые не содержат слово «имя пользователя» в качестве подстроки, то
like
можно использовать:источник
Попробуйте следующий запрос
источник
NULL-безопасное условие будет выглядеть так:
источник
<=>
оператор существует только вMySQL
мире, для получения дополнительной информации см. Что такое <=>источник
Здесь
strcomp
может быть уместна функция (возвращает 0, если строки идентичны):источник
Другой способ получить результат
источник