在sql中用LEFT JOIN查询得到的数据集中存在NULL值,在放到DBGRIDEH后,DBGRIDEH中显示的是空白,由于我需要计算,所以怎样在sql中处理,可以把null替换成0

解决方案 »

  1.   

    做个函数   对每个字段判断一下
       var 
      dd:Currency;
    begin
       aa:=fieldbyname(field).asstring;
       if aa='' then dd:=0;   result:=dd;              
    end;
      

  2.   

    select (case when 列名='' or 列名 is NULL then '0' else 列名 end) 列名 from 表名
      

  3.   

    在Oracle中这样写:
    Select Nvl(Your_Null_Filed, 需要NULL转换的结果 ) From Your_Table
      

  4.   

    在查询的时候就写
    select isnull(field,0) from table
      

  5.   

    使用decode也可以呀Decode(Your_Null_Field,null,0,1)就是说这个字段的值为null的时候字段值返回0,如果不为null的话返回1
    这是oracle中的一个函数,很方便nvl,case when then else end等都可以的