如何使用Redshift在任何列中查找具有NULL值的所有行

时间:2017-07-13 16:18:31

标签: null amazon-redshift

this post中有Postgresql的解决方案。但是,我需要它用于Redshift。为postgresql提出的解决方案不适用于redshift,因为它说:列不存在。有什么工作吗?

假设:

SELECT * FROM t;
┌────────┬────────┐
│   f1   │   f2   │
├────────┼────────┤
│ (null) │      1 │
│      2 │ (null) │
│ (null) │ (null) │
│      3 │      4 │
└────────┴────────┘
(4 rows)

预期结果:

┌────────┬────────┐
│   f1   │   f2   │
├────────┼────────┤
│ (null) │      1 │
│      2 │ (null) │
│ (null) │ (null) │
└────────┴────────┘
(3 rows)

1 个答案:

答案 0 :(得分:0)

您可以将所有列转换为varchar,连接并检查结果值是否为null。如果行中的任何值为null,则整个连接结果将为null。就像这样:

select *
from your_tablename
where col_1::varchar||col_2::varchar||col_3::varchar is null