数据库是Oracle ,问个Case语句
A字段是代号,另外有一列的数字由A决定,如果A是0001,则这一列的数字为A+TSDH,否则为空  select A as 代号, ( case A  when '0001' then  A||'TSDH'   esle null end ) as 特殊代号
 FROM viw_DH这样写语法都无法通过,提示Missing keyword

解决方案 »

  1.   

    ...  else   不是 esle
      

  2.   


    select A as "代号", --中文请加双引号
           ( case A when '0001' then  A||'TSDH' else null end ) as "特殊代号"
    FROM viw_DH
    /*
    case 语法:
    1.
    case expression
    when condition1 then value1
    when contition2 then value2
    ..
    else valueN
    end;
    2.case expression when condition1 then value1 else value2 end
    可以使用decode(expression,condition1,value1,condition2,value2,else_value)代替
    */