Hallo Zusammen,
ist so was korrekt?
hilf1 := round(hilf2/hilf3, 0)
wobei hilf1 muss integer-Wert sein.
Danke im Voraus,
ANja.
Hallo Zusammen,
ist so was korrekt?
hilf1 := round(hilf2/hilf3, 0)
wobei hilf1 muss integer-Wert sein.
Danke im Voraus,
ANja.
Verrätst Du uns, was Du einklich willst?
Andreas
anscheinen gibt es die Funktion ‘round’ nicht…
ich will also:
hilf1 := hilf2/hilf3;
wobei hilf1 muss INT sein/bleiben auch wenn die Teilung hilf2/hilf3 doch einen nicht-integer Wert ergeben hat.
Blödsinn… PostgreSQL: Documentation: Manuals: PostgreSQL 8.2: Mathematical Functions and Operators Tabelle 9-3.
cu tb.
Der Schein trügt.
test=*# select round(5/3,0);
round
-------
1
(1 row)
ich will also:
hilf1 := hilf2/hilf3;
wobei hilf1 muss INT sein/bleiben auch wenn die Teilung hilf2/hilf3 doch einen nicht-integer Wert ergeben hat.
test=*# create table hilf (h1 int, h2 int, h3 int);
CREATE TABLE
test=*# insert into hilf (h1, h2) values (5,3);
INSERT 0 1
test=*# update hilf set h3 = h1/h2;
UPDATE 1
test=*# select * from hilf ;
h1 | h2 | h3
----+----+----
5 | 3 | 1
(1 row)
Ich sehe noch immer nicht Dein Problem…
Andreas
hm… wenn h3 int ist und h1/h2 eine nicht-int Zahl ergeben, dann wird in h3 der Integer-Teil reingeschrieben? Ich bekomme doch eine Fehlermeldung:
FEHLER: ungültige Eingabesyntax für ganze Zahl: ╩6.99999999999999╚
Dann verwende einen CAST. Ich kann ansonsten das nicht weiter nachvollziehen, selbst in einer Function klappt das:
test=*# create function h1(int, int) returns int as $$begin return $1/$2; end;$$ language plpgsql;
CREATE FUNCTION
test=*# select h1(5,3);
h1
----
1
(1 row)
test=*# select h1(6,3);
h1
----
2
(1 row)
test=*# select h1(16,3);
h1
----
5
(1 row)
Andreas