我知道您可以使用其他语言(通常是!)来表示与之相反的内容。有没有办法在MySQL中做类似的事情?

例如,我有此查询来选择所有不为null或空白的内容:

select * from `invoices` where `Notes`>'';


但是有办法相反吗?因为目前我只知道您可以重写这样的查询

select * from `invoices` where ifnull(`Notes`,'')='';


但这消除了在Notes列上进行索引或这种方式的机会

select * from `invoices` where (`Notes` is null or `Notes`='');


但是那个比一个东西要长得多

select * from `invoices` where !`Notes`>'';


这将是理想的。

最佳答案

SQL具有not运算符:

SELECT * FROM `invoices` WHERE NOT (`Notes`>'');
-- Here -----------------------^

关于mysql - MySQL条件相反,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37614530/

10-15 16:54