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"
在 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"