在 SQL 中,使用 CASE WHEN
语句时,可以通过添加额外的条件来处理空值(NULL)情况。这通常涉及到检查某个字段是否为 NULL,并针对这种情况返回特定的结果。以下是一个处理空值的 CASE WHEN
示例:
SELECT id, name, age, CASE WHEN age IS NULL THEN 'Unknown' ELSE age END AS age_with_null_handling FROM your_table;
在这个示例中,我们首先选择 id
、name
和 age
字段。然后,我们使用 CASE WHEN
语句来检查 age
字段是否为 NULL。如果 age
是 NULL,则 CASE WHEN
语句返回 ‘Unknown’;否则,返回 age
的原始值。最后,我们将处理后的 age
字段命名为 age_with_null_handling
。
请注意,这个示例假设你的表名为 your_table
,你需要将其替换为实际的表名。此外,你可以根据需要调整 CASE WHEN
语句中的条件和返回值。
如果你想要在 CASE WHEN
语句中处理多个可能的空值情况(例如,age
可能是 NULL、空字符串 ‘’ 或其他某种表示无的有效值),你可以使用 IS NULL
、IS NOT NULL
、=
、<>
等操作符来检查这些条件。以下是一个更复杂的示例:
SELECT id, name, age, CASE WHEN age IS NULL OR age = '' THEN 'Unknown' ELSE age END AS age_with_multiple_null_handling FROM your_table;
在这个示例中,我们检查 age
是否为 NULL 或空字符串,并针对这两种情况返回 ‘Unknown’。如果 age
既不是 NULL 也不是空字符串,则返回原始值。