我有一個數字,包含值0和4之間,像這樣的列:SQL服務器 - 申請時到外殼的多個列
ID Q1 Q2 Q3 Q4 Q5 Q6 ... Q30
0001 4 0 3 1 0 4 2
0002 0 2 1 2 0 3 1
0003 4 2 3 0 3 0 4
0004 1 4 2 4 1 1 3
我需要改造這些值,以使得4 = 0,3 -25,2 = 50,1 = 75和0 = 100。
所以,在轉換後的版本我的第一行會顯示如下內容:
ID Q1 Q2 Q3 Q4 Q5 Q6 ... Q30
0001 0 100 25 75 100 0 50
如果它只是一個專欄中,我會用一個case語句:
case
when Q1=4 then 0
when Q1=3 then 25
when Q1=2 then 50
when Q1=1 then 75
when Q1=0 then 100
end Q1
我可以申請這個到一系列的列,而不是爲每一列做一個單獨的case語句?
或者是否有更高效的方式來達到相同的結果?
不,你不能應用大小寫一次去多個列。但是,假設實際邏輯完全如您所示 –