Bedeutung des Datentyps 'NUMBER'

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 ?

Besten Dank im Voraus für Eure Hilfe!

Gruß
Raffael

Worin liegt also der
Unterschied zwischen der Angabe a) NUMBER(19,4) und b) NUMBER

Number braucht immer eine Angabe mit anzahl der zahlen
also number(2) kann alle Zahlen von 1 - 99 aufnehmen
number(19,4) gibt an, 19 Zahlen hintereinander und davon 4 nach dem Komma.
Beisp: number(3,2) kann alle Zahlen von 1-9 aufnehmen die 10 wäre schon zu groß. allerdings kannst du auch zahlen wie 1,1, 2,25 etc. eintragen

ich hoffe das war verständlich…

grüße

chris

Number braucht immer eine Angabe mit anzahl der zahlen

Hallo Chris,

nochmals danke für die Erklärung. Genau so wie Du es geschrieben hast, habe ich es bisher auch verstanden. Allerdings habe ich hier Unterlagen vor mir liegen die ein Datenbanksystem beschreiben als auch direkten Zugriff auf das entsprechend System. In beiden (Doku & System) stehen bei mehreren Feldern der Datentype „NUMBER“, ohne jeglichen Zusatz. Und genau das ist das was ich nicht verstehe…

Gruß
Raffael

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

Hallo Markus,

besten Dank für Deine Hilfe. Deine Antwort hat mir und einem Kollegen weitergeholfen.

Gruß
Raffael