Postgresql,选择空字段

时间:2013-01-05 14:56:40

标签: postgresql

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

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

但如果我从中删除文本并将单元格留空,则无效。

如何编写查询以在结果中获取那些''并清除单元格? 或单独清除细胞?

1 个答案:

答案 0 :(得分:41)

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

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