select id, name=(case name 
                when 1 then '男' 
                when 2 then '女'
                else '0'
                end)     
from "student"

解决方案 »

  1.   

    把case when 的小括号去掉。
      

  2.   

    select id, case name 
                    when 1 then '男' 
                    when 2 then '女'
                    else '0'
                    end 
    from "student"
      

  3.   

    case when 不能分开额,看来你是新手中的新手
    select id, case WHEN name=1 then '男' 
                   WHEN name=2 then '女' 
                   else '0' END AS NAME
    from student ;
      

  4.   

    试了下,case when分开也是可以的,但是在plsql中,貌似表名加双引号会报错:表或视图不存在
      

  5.   

    select id, (case name 
                    when 1 then '男' 
                    when 2 then '女'
                    else '0'
                    end)  name
    from "student"主要是这个等号有问题    name放后面就可以了
      

  6.   

    name= 的语法不对
      

  7.   

    select id, (case name 
                    when 1 then '男' 
                    when 2 then '女'
                    else '0'
                    end)  name
    from "student"
      

  8.   

    这段SQL语句有两个问题:
    1. 确认数据字典中student表的表名是否为小写。如果数据字典中的表名是小写的,那么你在student表名加双引号是正确的。如果数据字典中的表名是大写,那你应该把sql中的双引号去掉。
    2.case..when 语句的错误,可以参照5#的写法。希望能够帮到你。
      

  9.   

    不能用=,在()后面AS NAME ,表名也不需要加" " case的语法注意。
      

  10.   

    不应该使用等于号。并且CASE WHEN 不可以分开写
      

  11.   

    select id, case WHEN name=1 then '男' 
    WHEN name=2 then '女' 
    else '0' END AS NAME
    from student ;
      

  12.   

    select id, (case name 
                    when 1 then '男' 
                    when 2 then '女'
                    else '0'
                    end)  name
    from "student"