给定两个用户,
NAME | JOB | CITY
John | null | Washington D.C.
Sandy | gardener| Nashville
如果我的SQL查询显示:
"SELECT * FROM users WHERE job != 'gardener'",
我的结果是0,
我希望他们成为1:
John | null | Washington D.C.
这是我要进行的较大查询的一个简单得多的示例。如果我将Job的默认值设置为'0',那么我会得到正确的结果,但是为了应用程序的其余部分,我宁愿在其中使用null。
更新:谢谢所有的建议,但我面临另一个问题。
假设我的SQL查询是:
"SELECT * FROM users WHERE city != Washington D.C. and job != 'gardener' OR job IS NULL"
不幸的是,这返回了John,而我不希望John,因为他住在华盛顿特区,在这种情况下,我想返回0行。
SELECT name,job,city
FROM users
WHERE IFNULL(job,'') != 'gardener';
如果您想OR job IS NULL
在更新的查询中使用(如Strawberry所述),则必须在您的JOB条件周围加上括号,如下所示
SELECT * FROM users WHERE city != 'Washington D.C.' and (job != 'gardener' OR job IS NULL)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句