SELECT *
FROM table WHERE id IN ('21')
AND (content_id IS NULL OR content_id = 0 OR content_id = '')
有没有更短的方法来写这个条件。
我有一个 int() 列,它可以是:NULL、0 或 EMPTY。
您可以IFNULL
在 MySQL 中使用函数。
select ____
from tbl
where IFNULL(content_id, 0) = 0
我认为更短的方法是这样的:
SELECT *
FROM table
WHERE id IN ('21')
AND COALESCE(content_id IN ('0', ''), 1)
content_id IN ('0', '')
可以假设这些值:
'0'
或者''
conent_id IS Null
如果它为 Null,则使用 COALESCE 我将返回 1,这相当于 True。
你可以试试COALESCE
:
SELECT * FROM table WHERE id IN ('21')
AND COALESCE(content_id,0) =0;