select top 1 新字段=case(旧字段)  
WHEN null THEN '国有企业' 
else '私人企业' 
end
  from table where 条件问题是 当检索不到数据时候 是不是NULL 从而是国有企业
实际情况却是 检索不到数据 只有字段名 没有出现 国有企业' 私人企业' 
??????

解决方案 »

  1.   

    select top 1 新字段=case  
    WHEN 旧字段=null THEN '国有企业' 
    else '私人企业' end
      from table where 条件
      

  2.   

    按照楼上还是不行
    没有数据时候 还是不显示 国有企业补充from OPENROWSET(另一台SERVER)
      

  3.   

    select top 1 新字段=case  
    WHEN 旧字段 is null THEN '国有企业' 
    else '私人企业' end
      from table where 条件
      

  4.   

    --对于字段是否为空的判断用is nullselect top 1 case when 旧字段 is null then '国有企业'  else '私人企业' end as 新字段
    from table 
    where 条件
      

  5.   

    null 比较要用 is nullcase xx when null 相当于 xx=null, 这个当然不会符合条件.
      

  6.   

    select top 1 新字段=case WHEN (旧字段) is null THEN '国有企业' else '私人企业' end
    from table where 条件
      

  7.   

    按造楼上各位 还是不性
    是不是 from OPENROWSET(另一台SERVER) as newtablenameselect top 1 新字段=case WHEN (newtablename.旧字段) is null THEN '国有企业' else '私人企业' end
    from OPENROWSET(另一台SERVER) as newtablename where 条件
    还是不行
      

  8.   

    首先测试一下不加任何条件能否选出记录
    然后用下面的语句测试一下
    select top 1 新字段=case ISNULL(newtablename.旧字段, '') WHEN '' THEN '国有企业' else '私人企业' end
    from OPENROWSET(另一台SERVER) as newtablename where 条件
      

  9.   

    问题已经明确了
    即 不符合提交没有输出记录!!!!!
    而不是NULL 空等
    但 项目中 又必须使用这样判断
    那该如何?
      

  10.   

    select top 1 新字段=case when isnull(旧字段,'')='' THEN '国有企业' else '私人企业' end
    from table where 条件
      

  11.   

    select top 1 新字段=case  
    WHEN 旧字段 is null THEN '国有企业' 
    else '私人企业' end
      from table where 
      

  12.   

    select 出來的没行數自然是空的,相當於没數據,判斷就無效了?。
      

  13.   

    如果 加EXISTS我就不用那么麻烦CASE了
    没其他办法了吗?