end case 换成end或者改写成decode()

解决方案 »

  1.   

    case when p_pj=0 then 1 else 0 end
      

  2.   

    1.CASE的写法:
    SELECT LogID,UserID,LogTime,Url,Description,(
     case OperateType 
     when OperateType = 0 
       then '新增'  
     when OperateType=1 
       then '修改' 
       else '删除' 
     end )  FROM LOG 2.DECODE的写法:
     SELECT LogID,UserID,LogTime,Url,Description,
      decode(OperateType,0,'新增',1,'修改','删除') OperationName
      FROM LOG
      

  3.   

    sorry,刚才case写错啦:
    SELECT LogID,UserID,LogTime,Url,Description,(
     case  
     when OperateType = 0 
       then '新增'  
     when OperateType=1 
       then '修改' 
       else '删除' 
     end )  FROM LOG 
      

  4.   

    建议用DECODE的写法:
     SELECT LogID,UserID,LogTime,Url,Description,
      decode(OperateType,0,'新增',1,'修改','删除') OperationName
      FROM LOG因为在oracle里面,其搜索引擎会优化decode方式:)而且,这个用起来也方便