hur.cn - 华软网

 热门搜索

为什么下面的语句在SQL2000中没问题,在ORACLE中提示“缺少右括号”呢?

  作者:未知    来源:网络    更新时间:2019/7/30
SELECT "KC_DJJZ"."DJH",   
         "KC_DJJZ"."DJDL",   
         "KC_DJJZ"."DJLXBH",   
         "KC_DJJZ"."ZT",   
         "KC_DJJZ"."LYBH",   
         "KC_DJJZ"."LYMC",   
         "KC_DJJZ"."MDBH",   
         "KC_DJJZ"."MDMC",   
         "KC_DJJZ"."ZBSJ",   
         "KC_DJJZ"."DJXL"  
    FROM "KC_DJJZ"  
   WHERE ( kc_djjz.djlxbh = :li_djlxbh ) AND  
         ( kc_djjz.djxl = :ls_djxl ) AND  
         ( kc_djjz.zt = :ls_zt ) AND  
         ( kc_djjz.lybh = (case :ls_jsfs when '1' then :li_ksbh else kc_djjz.lybh end) ) AND  
         ( kc_djjz.mdbh = (case :ls_jsfs when '2' then :li_ksbh else kc_djjz.mdbh end) ) AND  
         ( kc_djjz.zbsj between :t_start and :t_end  )    

------华软网友回答------
可能是某个变量的值为空致使的
------华软网友回复------
其实我只需把CASE语句去掉,就能够,但去掉CASE后就不能起到作用了,很多数据窗口都是这类写法,以前业务在SQL上,现在要移到oracle,没措施
------华软网友回复------
改成decode就能够了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。