在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值。