sum(population) under Sybase - Mailing list pgsql-hackers

From ocie@paracel.com
Subject sum(population) under Sybase
Date
Msg-id 9802112001.AA21569@dolomite.paracel.com
Whole thread Raw
List pgsql-hackers
> Just to add in here...Oracle:
>
> SQL> select sum(population) from nations;
>
> SUM(POPULATION)
> ---------------
>      2771277000
>
> SQL>

Here is Sybase.  Note, I declared the population field as int.

1> SELECT * FROM t1
2> go
 name                 population
 -------------------- -----------
 RUSSIA                 281170000
 INDIA                  766140000
 CHINA                 1072220000
 JAPAN                  129947000
 CANADA                  25610000
 U.S.A.                 242080000
 MEXICO                  81160000
 BRAZIL                 141450000
 ARGENTINA               31500000

(9 rows affected)
1> select sum(population) from t1
2> go
Arithmetic overflow occurred.

But with population defined as numeric(20,0)

1> select * from t2
2> go
 name                 population
 -------------------- -----------------------
 JAPAN                              129947000
 CANADA                              25610000
 U.S.A.                             242080000
 MEXICO                              81160000
 BRAZIL                             141450000
 ARGENTINA                           31500000
 INDIA                              766140000
 CHINA                             1072220000
 RUSSIA                             281170000

(9 rows affected)
1> select sum(population) from t2
2> go

 -----------------------------------------
                                2771277000


I sort of like this behavior.  This way, a valid sum over fields of
type X can always be stored in a field of type X.

Ocie Mitchell

pgsql-hackers by date:

Previous
From: ocie@paracel.com
Date:
Subject: Re: [HACKERS] Problem with the numbers I reported yesterday (fwd)
Next
From: The Hermit Hacker
Date:
Subject: Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha