Ответ 1
Используйте COALESCE()
для "нормализации" значения (преобразуйте значения NULL в пустую строку);
WHERE COALESCE(mycolumn, '') = ''
Прочтите документацию: COALESCE()
Или наоборот; конвертировать пустые строки в NULL;
WHERE NULLIF(mycolumn, '') IS NULL
Документация: NULLIF()
Из этих двух я бы предпочел COALESCE(), поскольку он является частью стандарта ANSI SQL
Вы можете экспериментировать с ним сами, просто сделайте это;
SELECT
mycolumn AS orig_value,
COALESCE(mycolumn, '') AS coalesce_value,
(COALESCE(mycolumn, '') = '') AS compare_result
FROM mytable;
Это покажет исходное значение, значение "coalesce" и результат сравнения бок о бок для каждой строки таблицы