ORACLE SELECT 语句中使用 CASE

      前段时间做项目,需要从DB中读取数据,根据不同的类型,在画面显示不同的提示;以前为了简化SQL语句,统一做法都是写出SQL,然后在代码中判断处理,可是最近对象BUG发现,改别人的BUG时,遇见这种问题,代码就很难阅读,还需要大量的跟踪调试,才能明白业务逻辑。

        所以这次项目,就要求了把这些业务逻辑写到SQL语句中,宁可SQL语句很长,也不在代码中写业务判断了,具体写法如下:

select kbn,

case when kbn > 1   then '中'
     when kbn >  2    then '国'
     when kbn > 3     then '人'
else '4' end grade    
from kbn_T
posted @ 2008-07-19 12:01  不羁  阅读(4991)  评论(0编辑  收藏  举报