Return 查询中为 Null,而不是 NaN

Return Null in a query, instead of NaN

在 PostgreSQL 中,我想查询 return Null 或空值,而不是 NaN(此 NaN 由 python 的 pandas 插入以填充空值值)。

例子: Select 姓名、年龄 来自 "People"

我想得到:

约翰福音 24

艾米丽

劳拉 50 岁

而不是:

约翰福音 24

艾米丽南

劳拉 50 岁

我认为你需要使用:

SELECT name, coalesce(age, '') as age From "People"

Coalesce 将空值(第一个参数)替换为第二个参数(此处为空字符串)。

如果你需要测试比 NULL 更复杂的情况,你也可以使用 CASE/WHEN :

SELECT name, CASE WHEN age IS NULL THEN '' ELSE age END AS age from "People"

但 COALESCE 对于简单的空值处理具有更好的可读性。

尝试使用 REPLACE:

Select name, REPLACE(age, 'NaN')
From People

如果 age 字段包含值 'NaN',它将用空字符串替换它。

如果您想要空值而不是 'NaN',您可以简单地使用:

SELECT name, NULLIF(age, 'NaN') From "People"