SQL里有一列默认值是0或者1 ,1是有效,0是无效,怎么在输出的时候,显示为有效或者无效  是直接在sql输出的时候就变成那个值    用select 语句查询输出的时候就直接赋值

解决方案 »

  1.   

    用case when then 语句吧
      

  2.   

     比如说select case 列名 when 0 then '无效' when 1 then '有效' end from 表名
      

  3.   

    SQL判断假如该列名为 IsEffective,SQL这样:select  case when IsEffective=0 then '无效' else '有效' end as IsEffective from 你的表名;
    在程序中判断:
        <%#Eval("IsEffective").ToString=="0"?"无效":"有效"%>
      

  4.   

    参考"把布尔值转为通俗显示 ":
    http://www.cnblogs.com/insus/articles/2055745.html
      

  5.   

    楼上.........连java ,php ....的都写出来更酷!!
      

  6.   

    是 在sql语句里面的,并不是页面里面
      

  7.   

    页面用三元表达式   布尔表达式?为true返回值:为false的返回值;
      

  8.   

    table定义为
    opid  int
    cando varchar查询
    SELECT     dbo.OP.OPID, dbo.OP.CanDo, derivedtbl_1.c2
    FROM         dbo.OP INNER JOIN
                              (SELECT     '0' AS c1, '有效' AS c2) AS derivedtbl_1 ON dbo.OP.CanDo = derivedtbl_1.c1
      

  9.   

    呵呵,case when很好,我的转圈了
      

  10.   

    在代码层里面
    public string binddate(object o){
    if(o.tostring()=="1"){
    return "有效";
    }else{
    return "无效";
    }
    }
    怎么用就不用说了吧  设计层<%# binddate(Eval("字段名"))%>
      

  11.   

    呵呵  已经解决了呢 tank you 大家了
      

  12.   

    case when吧  楼主要的SQL出来的时候就变掉
      

  13.   

    <%# (bool)Eval("Status") ? "开":"关" %>