[英]searching not null condition in multiple columns with query postgresql
我想計算在 field1、field2、field3 和 field4 中有多少沒有日期的文檔。 我創建了如下查詢,但它看起來並不好。
select
count(doc)
where true
and field1 is not null
and field2 is not null
and field3 is not null
and field4 is not null
如何為多個列應用一個過濾器?
提前致謝。
您當前的查詢沒有任何問題,這可能是我將在這里使用的。 但是,您可以在這里使用COALESCE
技巧:
SELECT COUNT(*)
FROM yourTable
WHERE COALESCE(field1, field2, field3, field4) IS NOT NULL;
這是因為對於至少分配給非NULL
日期的四個字段之一的任何記錄將無法通過IS NOT NULL
檢查。 只有所有四個字段都是NULL
的記錄才會匹配。
請注意,這會計算具有至少一個非NULL
字段的記錄。 相反,如果您想計算所有四個字段都是NULL
的記錄,請使用:
SELECT COUNT(*)
FROM yourTable
WHERE COALESCE(field1, field2, field3, field4) IS NULL;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.