Seite 1 von 1

Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 11.10.2015 21:23
von Delle
Hallo,

weiß jemand welchen Datentyp ich am besten für Währungen bei SQLite nehme?

Ich dachte da an NUMERIC, allerdings wird im Netz viel VARCHAR empfohlen.

Wie muss ich die Beträge speichern? 123.99 oder 123,99?

Und wie rechne ich in PB dann die Summe zusammen, OHNE das die Nachkommastellen flöten gehen bzw. falsch zusammengerechnet werden?

Danke!
Delle

Re: Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 11.10.2015 21:27
von RSBasic
Am besten einfach in Cents umrechnen und eine Ganzzahl verwenden.

Re: Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 11.10.2015 21:31
von NicTheQuick
RSBasic hat geschrieben:Am besten einfach in Cents umrechnen und eine Ganzzahl verwenden.
+1

Re: Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 11.10.2015 21:35
von Delle
Also VARCHAR als Datentyp funktioniert, ich lasse die Berechnung einfach auch gleich mittels DB und SUM() erledigen.

Jetzt muss ich eben nur noch Ergebnisse wie 1234.9 richtig formatieren ;)

Re: Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 11.10.2015 21:40
von NicTheQuick
Boah, das ist aber hässlich und bestimmt 100 mal langsamer als wenn du Ganzzahlen nimmst. Mach's doch lieber gleich richtig.

Re: Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 11.10.2015 21:48
von GPI
Ich würde auch Cents und Ganzzahl empfehlen.

Ansonsten genau aufpassen, welchen Typ man nimmt. Float/Double in PB können bspw. die Zahl 0.4 nicht richtig darstellen. Das liegt daran, das die Zahlen hier mit der Basis zwei arbeiten. Versuch mal mit 2^-1, 2^-2, 2^-3 etc. die Zahl 0.4 zu erstellen - es geht nicht. Das ist aber ein allgemeines Problem bei der Sache. In unseren 10er-System kann man die Zahl 1/3 auch nicht darstellen.
Wenn du das Zeug also in PB weiterverarbeiten willst: UNBEDINGT Ganzzahl! Ansonsten hast du nur Schätzwerte - und die können gewaltig daneben liegen!

Aber Varchar? Zeichen für eine Zahl ist nicht gerade sinnvoll. Besonders wenn dann mal ein Scherzkecks Buchstaben reinmischt und wilde Ergebnisse raus kommen.

Re: Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 12.10.2015 00:41
von Bisonte
Um Auf-, oder Abrunden zu vermeiden (was auch bei PB passiert) nimmt man Cent's beim Rechnen mit der hiesigen Währung per EDV. So sagt der Steuerberater ;)

Re: Datentyp für Währung bei SQLite und anschließend rechnen

Verfasst: 12.10.2015 08:12
von TroaX
Wie meine Vorredner schon sagten: GANZZAHL und Cent als Basis. Kein VARCHAR, kein TEXT, kein BLOB sondern GANZZAHL.

Die Datentypen wurden nicht umsonst in ds DBMS integriert ;)