开发者

display sql custom text from table column result

开发者 https://www.devze.com 2023-01-06 18:29 出处:网络
let say i dosele开发者_如何学运维ct score from table1. this will return result score ---- 0 20 40 how to use case, to change the output toif 0->strongly not agree 20->agree 40->very agreedI think t

let say i do sele开发者_如何学运维ct score from table1. this will return result

score
----
0
20
40

how to use case, to change the output to if 0->strongly not agree 20->agree 40->very agreed


I think thats what you want:

select 
  case 
    when score >= 40 then 'very agreed'
    when score >= 20 then 'agree'
    else 'strongly not agree'
  end
from table1


This does a simple translation of fixed values:

select score
       , case score
              when 0 then 'strongly not agree'
              when 20 then 'agree'
              when 40 then 'very agreed'
              else 'don''t know'
         end as txt
from your_table
/

If you are working with ranges the syntax is slightly different:

select score
       , case 
              when score between 0 and 19 then 'strongly not agree'
              when score between 20 and 39 then 'agree'
              when score >= 40 then 'very agreed'
              else 'don''t know'
         end as txt
from your_table
/

The ELSE branch is optional but I have included it to handle NULLs or unexpected values. If your data model enforces the appropriate constraints you might not need it.


I'm not sure if I understand the question correctly but maybe this is what you want:

select decode(score,0,'Strongly not agreed',20,'Agree',40,'Very Agreed') from table1


case when score < 20               then 'Strongly Not Agreed'
     when score between 20 and 40  then 'Agree'
     when score > 40               then 'Strongly Agreed' end
0

精彩评论

暂无评论...
验证码 换一张
取 消