AS別名 “不能用在CASE中,只能顯示結果時用”

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 的執行結果







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章