1、正确 SQL
SELECT
CNTRY_NAME,
CNTRY_CONTINENT AS Continent,
CASE -- 注意:CASE用的字段 是表的真正字段名 CNTRY_CONTINENT(“不是别名 Continent” 哦,亲)
WHEN CNTRY_CONTINENT IS NULL THEN 'Continent IS NULL'
ELSE CNTRY_CONTINENT
END AS MARVIN_case_when_then_else_end -- 此列的列名是:MARVIN_case_when_then_else_end
FROM
EI.COUNTRIES;
2、错误 SQL
SELECT
CNTRY_NAME,
CNTRY_CONTINENT AS Continent,
CASE -- 注意:CASE中用的字段 是别名 Continent(这样不对,执行出错)
WHEN Continent IS NULL THEN 'Continent IS NULL'
ELSE CNTRY_CONTINENT -- 注意:CNTRY_CONTINENT 是表的真正字段名,这是对的(这里当然 也不能 用 Continent)
END AS MARVIN_case_when_then_else_end
FROM
EI.COUNTRIES;
在贴下 正确 SQL 的执行结果