23

我试图从我的表中获取空的“文本”字段,我用 pgadmin 手动清除了这些字段。最初在这些字段中是'',我可以像这样查询它们:

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

但是,如果我从中删除文本并将单元格留空,那将不起作用。

如何编写查询以将这些“”和清除单元格放在一起?还是单独清除细胞?

4

1 回答 1

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

说明:函数从左到右coalesce(a,b,c, ...)遍历列表,并在第一个非空元素处停止。可以是任何表达式(或常量),但必须产生相同的类型(或可强制转换为相同的类型)。a,b,c,...a,b,c

于 2013-01-05T15:49:19.633 回答