随便说个例子: select isnull(字段,0) from table 
如果上面没有记录的话,返回的结果不是0而什么也不显示,也就是说此时返回的字段值不为空,那它为什么,如何才能让它返回所替代的值.我用类型转换也不行,请大家帮忙,谢谢

解决方案 »

  1.   

    select  case when 字段 is null or rtrim(ltrim(字段))='' then 0 else 字段 end   
    from   [table]
      

  2.   


    if exists (select 1 from [table])
        select   isnull(字段,0)   from   [table]   
    else
        select   0  
      

  3.   

    可能跟字段的类型有关,字符ISNULL(字段,'')
      

  4.   

    ISNULL ( check_expression , replacement_value ) 
    参数
    check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 
      

  5.   

    isnull(字段,0) 当返回记录字段值为null的时候将返回记录的字段值更换为0.
    没返回记录当然不显示拉.
      

  6.   

    我是说为了防止所查询的记录不存在,不是说根本没记录就来查询,那样做意思,好个字段是float型的,是我在测试的时候发现问题的
      

  7.   

    当没有记录的情况下,当然还是null
    如果有记录,但是字段值是null的情况下,才会显示0