我正在尝试从我的表中获取空的“文本”字段,我用pgadmin手动清除。 最初在那些字段中是'',我可以像这样查询它们:
SELECT mystr, mystr1 FROM mytable WHERE mystr='' or mystr1=''
但如果我从中删除文本并将单元格留空,则无效。
如何编写查询以在结果中获取那些''并清除单元格? 或单独清除细胞?
答案 0 :(得分:41)
SELECT mystr, mystr1
FROM mytable
WHERE COALESCE(mystr, '') = ''
OR COALESCE(mystr1, '') = ''
;
说明:coalesce(a,b,c, ...)
函数从左到右遍历列表a,b,c,...
,并在第一个非null元素处停止。 a,b,c
可以是任何表达式(或常量),但必须产生相同的类型(或者可以强制为相同的类型)。