Hallo liebe WWWler!
Vielleicht habe ich ja auch einfach nur Tomaten auf den Augen
oder ich liefere Google einfach die falschen Wörter, aber ich
finde keine befriedigende Information zu dem Datentype
„NUMBER“ - unter Oracle.
Bisher habe ich folgendes gefunden, was wir auch schon vorher
klar war:
NUMBER(p,s)
Numerische Werte wie Null, positive oder negative Fest- oder
Gleitkommazahlen
Ich habe erst angefangen mich mit Datenbanken zu beschäftigen,
daher verzeiht mir bitte diese vermutlich banale Frage, aber
was bedeutet der Datentype „NUMBER“, wenn er ohne die
Parameter (p,s) angegeben ist? Worin liegt also der
Unterschied zwischen der Angabe a) NUMBER(19,4) und b) NUMBER
NUMBER ist ein Oracle-spezifischer Datentyp. Intern besteht er aus 21 Bytes und kann jeden plattformspezifischen Datentypen (int,float,double,long,usw) speichern. Während plattformspezifische Typen meist eine Breits von 32 oder 64 Bit sowie ein festest Format haben (Vorkomma-,Nachkommastellen), kann man diesen Typ entsprechend konfigurieren: du gibst den Wertebereich, also Vor- und Nachkommastellen optional in den Klammern an und definierst somit den Range.
Gibst du keine Einschränkungen an, so wird der max. gültige Bereich verwendet.
Arbeitest du beispielsweise mit Währungen, so kannst du Oracle die zu berücksichtigen Nachkommastellen mitteilen. Berechnungen in Abfragen berücksichtigen dann nur die angegebenen Nachkommastellen. Analog dazu würde ein float oder double (C++) immer mit der max. möglichen Genauigkeit arbeiten, überflüssige Nachkommastellen müsstest du dort selbst entfernen.
Gruß Markus