当前位置: 代码迷 >> Oracle管理 >> oracle语法,该怎么解决
  详细解决方案

oracle语法,该怎么解决

热度:51   发布时间:2016-04-24 05:27:02.0
oracle语法
本人刚刚接触oracle,有个sql语句总是报错,请各位前辈指教
例如:
select deptname as dt,decode(deptname,deptname in( '1','2','3'),'7',' ') as realdept from tab


我的需求是判断一个字段的值是否在某一范围内,如果是就给他们一个统一的值,如果不在,则是空字符,请各位高手指点下啊,急!!~~


------解决方案--------------------
像你这样情况要用case when来做
decode里面是不能加判断条件的
------解决方案--------------------
decode没有IN的判断
可以这样
SQL code
select deptname dt,case when deptname in ('1','2','3') then          '7'     else ''end realdeptfrom tab;
------解决方案--------------------
SQL code
select deptname as dt,case deptname                            when '1' then '7'                            when '2' then '7'                           when '3' then '7'                           else ' '                            end realdept from tab
  相关解决方案