SELECT *
FROM mytable
WHERE COALESCE(col, '') = ''
Notera dock än OR
frågan blir mycket effektivare om kolumnen är indexerad:
SELECT *
FROM mytable
WHERE col = '' OR col IS NULL
Detta kommer att använda ref_or_null
åtkomstväg på indexet.
Om du behöver välja från en lista med värden tillsammans med NULLs
, lägg bara alla värden som inte är null i listan och lägg till en enda OR IS NULL
skick:
SELECT *
FROM mytable
WHERE col IN ('val1', 'val2', 'val3') OR col IS NULL
Detta kommer att använda ett index på col
likaså.