SELECT *
FROM table WHERE id IN ('21')
AND (content_id IS NULL OR content_id = 0 OR content_id = '')
是否有更短的方式来编写这种情况。
我有一个int()列,可以是:NULL,0或EMPTY。
答案 0 :(得分:7)
您可以在MySQL中使用IFNULL
功能。
select ____
from tbl
where IFNULL(content_id, 0) = 0
答案 1 :(得分:2)
我认为更短的方式是:
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。
答案 2 :(得分:1)
您可以尝试COALESCE
:
SELECT * FROM table WHERE id IN ('21')
AND COALESCE(content_id,0) =0;