select a,b1+b2+b3,c form table
其中b1,b2,b3均为字符型字段,如果其中一个字段为空时,居然相加后也为空,这是所不愿看到的。
请问如何在相加时遇上空串时自动不加此字段

解决方案 »

  1.   

    select a,isnull(b1,'')+isnull(b2,'')+isnull(b3,''),c form table
      

  2.   

    select isnull(A,'')+isnull(B,'')+isnull(C,'') from zzzz
      

  3.   

    如果为空,就置0,应该不会出错了:
    select isnull(A,0)+isnull(B,0)+isnull(C,0) from zzzz
      

  4.   

    郁闷!
    我用的ACCESSS2000+VB6SP6+MDAC2.6SP1,用以上的方法总是报错:
    实时错误'-2147217900 (80040e14)':
    用于函数参数的个数不对,在查询表达式
    'Street isnull(A,0)+isnull(B,0)+isnull(C,0)'中。
      

  5.   

    用于函数参数的个数不对,在查询表达式
    'isnull(A,0)+isnull(B,0)+isnull(C,0)'中。
      

  6.   

    倒用如下方法我通过
    select a,iif(isnull(b1),'',b1)+b2+b3,c form table请各位大侠再赐高见!
      

  7.   

    access中的isnull只有一个参数:IsNull 函数
          返回 Boolean 值,指出表达式是否不包含任何有效数据 (Null)。语法IsNull(expression)必要的 expression 参数是一个 Variant,其中包含数值表达式或字符串表达式。说明如果 expression 为 Null,则 IsNull 返回 True;否则 IsNull 返回 False。如果 expression 由多个变量组成,则表达式的任何作为变量组成成分的 Null 都会使整个表达式返回 True。Null 值指出 Variant 不包含有效数据。Null 与 Empty 不同,后者指出变量尚未初始化。Null 与长度为零的字符串 (““) 也不同,长度为零的字符串指的是空串。重要 使用 IsNull 函数是为了确定表达式是否包含 Null 值的。在某些情况下,希望表达式取值为 True,比如希望 If Var = Null 和 If Var <> Null 取值为 True,而它们总取值为 False。这是因为任何包含 Null 的表达式本身就是 Null,所以为 False。
      

  8.   

    select a,iif(isnull(b1),'',b1)+iif(isnull(b2),'',b2)+iif(isnull(b3),'',b3),c form table