On Sun, Mar 18, 2001 at 07:27:55PM +0100, Ramin Motakef wrote:
> Hallo zusammen,
> ich habe eine Möglichkeit gefunden das Postgres-Backend zu crashen
> :-(.

Da gehört nichts dazu :)

> INSERT INTO bymonth (year,month,hours) 
> SELECT date_part('year',day),
>         date_part('month',day), 
>         sum(stop-start) 
> FROM stunden 
> GROUP BY date_part('year',day), date_part('month',day);
> 
> Die Tabellen hab ich so angelegt:
> 
> CREATE TABLE "stunden" (
>     "id" serial,
>     "day" date,
>     "start" time,
>     "stop" time,
>     "bem" text,
>     PRIMARY KEY ("id")
> );
> 
> Die SELECT Anweisung alleine funktioniert wie erwartet...

Die geht? Bei mir nicht (PG 7.1beta4). die beschwert sich darüber, daß
sum(stop-start) nicht geht. sum() ist nicht für den Typ time definiert.
sum((start-stop)::intervall) funktioniert. Nun wird aber intervall nicht
nach float8 gecastet. Du solltest Deine Typen mal überdenken.

statt sum(stop-start) z.B.

   date_part('hour',sum((stop-start)::interval)) +
   date_part('min',sum((stop-start)::interval))/60

nehmen.

bye
Christian

PGP signature

Antwort per Email an