比如user表:
id(int)  name(varchar2)  sex(int)  age(int)
1           wjf             1        26
2           yjq             1        25
3           wf              0        24
得到下面的结果怎么写sql语句啊?
1           wjf             ‘男’        26
2           yjq              '男'         25
3           wf              ‘女’        24

解决方案 »

  1.   

    select id, name, decode(sex,1,'男',0,'女','未知') as sex, age
    from user;
      

  2.   


    create table user01(id number,name varchar2(20),sex number,age number);
    insert into user01 values(1,'wjf',1,26);
    insert into user01 values(2,'yjq',1,25);
    insert into user01 values(3,'wf',0,24);
    create table sex01(sex number,text varchar2(10));
    insert into sex01 values(1,'男');
    insert into sex01 values(0,'女');
    select u.id,u.name,s.text sex,u.age from user01 u natural join sex01 s;
      

  3.   

    用ddecode函数,或者case。。whenselect id, name, case sex
    when 0 then '女' when 1 then '男' end  as sex, age
    from user;
      

  4.   

    --1
    select id, name, decode(sex,1,'男',0,'女','未知') as sex, age
    from user;
    --2
    select id,name,(case when sex='1' then '男' else '女' end ) sex,age
    from user;
      

  5.   

    --1
    select id, name, decode(sex,1,'男',0,'女') as sex, age
    from user;
    --2
    select id, name, case when sex='1' then '男' else '女' end sex,age
    from user;