SELECT *
FROM table WHERE id IN ('21')
AND (content_id IS NULL OR content_id = 0 OR content_id = '')
这个条件有没有更简短的写法?
我有一个 int() 列,它可以是:NULL、0 或 EMPTY。
您可以在MySQL中使用
IFNULL
函数。
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', '')
可以采用以下值:
content_id
是 '0'
或 ''
content_id IS Null
如果是
Null
,这里COALESCE会返回1
,相当于True
。
这对你有用吗?
SELECT *
FROM table
WHERE id IN ('21')
AND content_id IN (NULL, 0, '');