同事们,我也看到过类似的问题,但我认为自从他们被问到以来,这些年来突然发生了一些变化。
有一个包含许多字段的表。可能有一张表,也可能有很多张表,我们可以通过一些唯一的字段将它们组合起来。最初,任务是获取不包含NaN任何字段的记录,但事实上,问题更广泛 - 相反,NaN可以有任何值。
也就是说,如果我按一个字段搜索,那么显然:
SELECT * FROM table_name
WHERE field_name != 'NaN'::NUMERIC;
如果我搜索所有字段,那么我需要以一种或另一种方式明确指示字段和表的名称。但没有这样的事情:
SELECT * FROM table_name
WHERE table_name.* != 'NaN'::NUMERIC;
(我知道——这行不通)
也就是说,要么手动列出字段的名称,要么使用脚本获取名称并动态生成它们,或者一些非常华丽的(在我看来)动态查询。在所有这些情况下,我更容易pandas轻松愉快地将所有桌子拖进去并摆脱它NaN。但是如果您可以通过 SQL 轻松愉快地完成此操作呢?
谢谢你!
例子:
要求
结果
出于好奇,有了这样的数据
要求
会给出结果