SELECT *
FROM table WHERE id IN ('21')
AND (content_id IS NULL OR content_id = 0 OR content_id = '')
この条件を書くためのより短い方法はありますか?
NULL、0、またはEMPTYのいずれかになり得るint()列があります。
IFNULLMySQLで関数を使用できます。
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 NullNull の場合、COALESCE を使用して 1 を返します。これは True と同等です。
あなたは試すことができますCOALESCE:
SELECT * FROM table WHERE id IN ('21')
AND COALESCE(content_id,0) =0;