sql

SQL casewhen 如何处理空值情况

小樊
108
2024-10-15 16:19:24
栏目: 云计算

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

在这个示例中,我们首先选择 idnameage 字段。然后,我们使用 CASE WHEN 语句来检查 age 字段是否为 NULL。如果 age 是 NULL,则 CASE WHEN 语句返回 ‘Unknown’;否则,返回 age 的原始值。最后,我们将处理后的 age 字段命名为 age_with_null_handling

请注意,这个示例假设你的表名为 your_table,你需要将其替换为实际的表名。此外,你可以根据需要调整 CASE WHEN 语句中的条件和返回值。

如果你想要在 CASE WHEN 语句中处理多个可能的空值情况(例如,age 可能是 NULL、空字符串 ‘’ 或其他某种表示无的有效值),你可以使用 IS NULLIS 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 也不是空字符串,则返回原始值。

0
看了该问题的人还看了