选择记录,其中至少填充了一组选定字段中的一个

时间:2019-05-01 16:39:34

标签: sql postgresql

在表TEST中,如何选择填充了col_acol_b,... col_n的一个或多个字段的行?因此,例如,如果仅填充col_n,我仍然想要该记录。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以在not null子句中使用where

select t.*
from test
where col_a is not null or col_b is not null or col_c is not null;

答案 1 :(得分:1)

您可以使用合并功能。它会返回第一个非null值,因此仅当所有字段均为null时,才会返回null。

select t.*
from test
where coalesce(col_a,col_b,col_c) is not null

Coalesce documentation