Подтвердить что ты не робот

Postgresql, выберите пустые поля

Я пытаюсь получить пустые поля "текст" из моей таблицы, которые я очистил вручную с помощью pgadmin. Первоначально в этих полях было "", и я могу запросить их следующим образом:

SELECT mystr, mystr1 FROM mytable WHERE mystr='' or mystr1=''

Но это не работает, если я удаляю текст из них и оставляю ячейки пустыми.

Как написать запрос, чтобы получить эти "и очистить ячейки вместе в результате? Или очистить клетки в покое?

4b9b3361

Ответ 1

SELECT mystr, mystr1 
FROM mytable 
WHERE COALESCE(mystr, '') = '' 
   OR COALESCE(mystr1, '') = ''
    ;

Объяснение: функция coalesce(a,b,c, ...) перемещает список a,b,c,... слева направо и останавливается у первого непустого элемента. a,b,c может быть любым выражением (или константой), но должно давать один и тот же тип (или быть когерентным для одного и того же типа).