1. 程式人生 > >[譯]在SQL查詢中如何映射(替換)查詢的結果?

[譯]在SQL查詢中如何映射(替換)查詢的結果?

.com 最簡 map end 表達 tac then image com

問題來源: https://stackoverflow.com/questions/38567366/mapping-values-in-sql-select

有一個表格,就稱它Plant,它有三列:id, name, category. 這是最簡單的例子,所以不用擔心通用性。

技術分享圖片

我想要返回的如下:

  • ‘Fruit Plant‘ 而不是 ‘fruits‘
  • ‘Vegetable Plant‘而不是‘vegetables‘
  • ‘unknown’ 而不是 NULLs
    我該如何映射稱這些詞?

你可以使用Case表達式:
註:when後是查詢到的值,then後是想要修改成為的值。

select
    id,
    name,
    case 
        when category = 'fruits' then 'Fruit Plant'
        when category = 'vegetables' then 'Vegetable Plant'
        when category is null then 'unknown'
    end as category
from Plant

[譯]在SQL查詢中如何映射(替換)查詢的結果?