var
  dAvgNum:Double;
  SQLStr:String;
begin//SQLServer
  SQLStr := 'Select IsNull(Avg(Field1),0) As AveNum From Table1';//Access
  SQLStr := 'Select IIf(Avg(Field1) Is Null,0,Avg(Field1)) As AveNum From Table1';  with ADQuery1 do
  begin
    Close;
    SQL.Clear;
    SQl.Add(SQLStr);
    Open;
  end;
  
  dAvgNum := ADOQuery1.FieldByName('AvgNum').AsString
end;