case when

CASE WHEN语句怎样处理NULL值

小樊
129
2024-10-10 02:27:39
栏目: 编程语言

在SQL中,CASE WHEN语句可以很好地处理NULL值。当你在CASE WHEN语句中涉及NULL值时,它会根据你的条件返回NULL,除非你明确指定了返回其他值。

以下是一个简单的例子来说明如何处理NULL值:

SELECT 
    id,
    name,
    age,
    CASE 
        WHEN age IS NULL THEN 'Unknown'
        ELSE age
    END as age_description
FROM 
    people;

在这个例子中,我们有一个people表,其中有一些人的年龄是NULL。我们使用CASE WHEN语句来为这些NULL年龄生成一个描述(‘Unknown’)。

注意,在CASE WHEN语句中,NULL值被视为假值。所以,只有当条件明确返回NULL时,结果才会是NULL。例如:

SELECT 
    id,
    name,
    age,
    CASE 
        WHEN age = 25 THEN 'Young'
        WHEN age = 35 THEN 'Middle-aged'
        ELSE 'Old'
    END as age_group
FROM 
    people;

在这个例子中,如果某人的年龄是NULL,那么age_group列的值也将是NULL,因为NULL不等于25,也不等于35。

总的来说,CASE WHEN语句可以方便地处理NULL值,你可以根据需要在语句中明确指定如何处理这些NULL值。

0
看了该问题的人还看了