如何在我的SELECT中編寫CASE語句來執行以下操作:SQL案例陳述
我有一列名爲Values
的列。此列可以具有值b
,c
或a
。如果它的值爲b
,我希望SELECT返回big
;如果c
回報small
,如果a
回報large
如何在我的SELECT中編寫CASE語句來執行以下操作:SQL案例陳述
我有一列名爲Values
的列。此列可以具有值b
,c
或a
。如果它的值爲b
,我希望SELECT返回big
;如果c
回報small
,如果a
回報large
Case [Values]
When 'a' Then 'large'
When 'b' Then 'big'
When 'c' Then 'small'
End
select
case values
when 'a' then 'large'
when 'b' then 'big'
when 'c' then 'small'
end as values_decoded
from table
另一種方法,可以給你同樣的表現是這樣的,它利用比較單一字符串:
SELECT
SUBSTRING('large', 1, DATALENGTH('large')*(1-abs(sign(ASCII([Values]) - ASCII('a'))))) +
SUBSTRING('big', 1, DATALENGTH('big')*(1-abs(sign(ASCII([Values]) - ASCII('b'))))) +
SUBSTRING('small', 1, DATALENGTH('small')*(1-abs(sign(ASCII([Values]) - ASCII('c')))))
FROM table