例如: 有一张 USER 表,USERS表中的字段 :user_name ,user_password, user_status(用户状态:0:取消,1:完成,2:接受) 现在我想查询表USERS  当user_status为0时显示取消、为1 完成 为2接受 如下:
user_name   user_password  user_status
 李             123456         接受

解决方案 »

  1.   

    Oracel:
    select user_name, user_password, decode(user_status, 0, '取消', 1, '完成', 2, '接受') user_status from   USERS
    SQL Server:
          select user_name, user_password,
                    case user_status
                       when 0 then
                        '取消'
                       when 1 then
                        '完成'
                       when 2 then
                        '接受'
                     end user_status
             from   USERS
      

  2.   

     select user_name, user_password, case user_status when 0 then '取消' when 1 then '完成' else '接受' end as user_status from [users] 
      

  3.   

    select 
    user_name
    ,user_password
    ,case user_statu when 0 then '取消' when 1 then '完成' when 2 '接受' else '' end as user_statu
    from [user]
      

  4.   

    select user_name ,user_password, case user_status when 0 then '取消' when 1 then '完成' when 2 then '' end from users
      

  5.   

    你这是要在c# 里面读取吗?要是在C#里面读取的话直接在给实体类赋值的时候判断下在赋给实体类不就行了。如果用sql语句的话
    用case..when .. then 应该能实现。不过我忘记怎么用了 。你可以去查下
      

  6.   


    典型的case.when:
    select user_name ,user_password, case user_status when 0 then '取消' when 1 then '完成' when 2 then '' end from users 
      

  7.   


    SQL Server:
          select user_name, user_password,
                    case user_status
                       when 0 then
                        '取消'
                       when 1 then
                        '完成'
                       when 2 then
                        '接受'
                     end user_status
             from   USERS
      

  8.   

    典型的case......when......then..查询!楼上所说已足以满足你的要求!我就不多说了,祝lz能解决问题
      

  9.   

    还有第三种方案,自己建立一个表,设置三个数字和三个中文的对应,sql用left join关联出来
      

  10.   

    在sql server中,二楼是对的~~~