SELECT *
FROM table WHERE id IN ('21')
AND (content_id IS NULL OR content_id = 0 OR content_id = '')
Is there a shorter way of writing this condition.
I have a int() column that could be either: NULL, 0 or EMPTY.
SELECT *
FROM table WHERE id IN ('21')
AND (content_id IS NULL OR content_id = 0 OR content_id = '')
Is there a shorter way of writing this condition.
I have a int() column that could be either: NULL, 0 or EMPTY.
You can use IFNULL
function in MySQL.
select ____
from tbl
where IFNULL(content_id, 0) = 0
I think the shorter way is this:
SELECT *
FROM table
WHERE id IN ('21')
AND COALESCE(content_id IN ('0', ''), 1)
content_id IN ('0', '')
may assume these values:
content_id
is either '0'
or ''
content_id IS Null
If it's Null
, COALESCE will return 1
here, which is equivalent to True
.
You can try COALESCE
:
SELECT * FROM table WHERE id IN ('21')
AND COALESCE(content_id,0) =0;