select 检查日期,F2 as 工号,姓名,'无' as 血型,体检结果,字段1+字段2+字段50 as 一般体检结果
from tj_table查询结果是:
检查日期   工号   姓名    血型   体检结果   一般体检结果
20071010  01    张三    无     正常        null

。请问一般体检结果怎么成null了,‘字段1+字段2+字段50’的内容太长了吗?应该怎么处理? 

解决方案 »

  1.   

    select   检查日期,F2   as   工号,姓名,'无'   as   血型,体检结果,isnull(字段1,'')+isnull(字段2,'')+字段50   as   一般体检结果 
    from   tj_table 
      

  2.   

    加isnull()判断 ,任何字符+ NULL = NULL
      

  3.   

    字段1+字段2+字段50這些是什么? 里面有null嗎?
      

  4.   

    我想不是太长的原因 ,应是字段1--字段50之间有null 值null+任何值=nullselect   
         检查日期,F2 as 工号,姓名,'无'   as   血型,体检结果,
         isnull(字段1,'')+isnull(字段2,'')+isnull(字段50,'')   as   一般体检结果 
    from   tj_table 
      

  5.   

    select '1'+null
    看这个 ,其中有1个null,结果就是null
      

  6.   

    不是的,我把‘字段1+字段2+字段50’‘改成字段1+字段2+字段10’ 
    就有结果了,这是怎么回事啊!!!!!!!!???????????? ----那就是10后的某个字段有NULL啦
      

  7.   

    字段1, 字段2, …… 字段50
    这些字段是不是都是数字的?要保证这些字段的值都没有 null 
    否则+(加法)计算出来的结果会是 null
    比如: 
    字段1 = 1
    字段2 = null
    那么, 字段1 + 字段2 = null
      

  8.   

    明白了,是null加任何值都是null的结果
    还是基础不明了,谢谢各位大侠!!!!!!!!!!!!