Dati memorizzati nei database Oracle possono guardare abbastanza simili ma essere abbastanza dissimili, basato sul tipo dell'oggetto definito. Un tipo viene assegnato a ogni costante, variabile e parametro nel database. Un numero può essere memorizzato come una varietà di tipi scalari numeri a seconda del design e destinazione d'uso del database.
Numero di sottotipi
In SQL, un numero è un tipo di dati che possa essere assegnato ai dati e viene definito come valore esatto o approssimativo. Numero dati vari sottotipi sono reciprocamente comparabili. Il sottotipo di dati numero assegnato determina la precisione dei dati.
Formato numerico vs decimale
Secondo lo Standard SQL-92, decimale deve essere esattamente tanto preciso quanto dichiarato, mentre numerico deve essere almeno tanto preciso quanto dichiarato. In pratica, nessuna differenza sostanziale esiste generalmente tra i sottotipi NUMERIC e DECIMAL. Tutti i pacchetti principali database commerciali..--inclusi MySQL, Transact-SQL e Oracle - delizia NUMERIC e DECIMAL come sinonimi.
Precisione e scala
Sottotipi sia NUMERIC e DECIMAL sono controllati da variabili precisione e alla scala. Il formato corretto per entrambi i tipi di dati è numerico (precisione, scala) o decimale (precisione, scala). Precisione si intende il numero massimo di cifre significative nei dati e può raggiungere un massimo di 38 cifre. Questo è il valore predefinito se non viene specificata la precisione. Scala determina il punto di arrotondamento. Scala può variare da -84 e 127. Numeri positivi influiscono arrotondamento a destra del punto decimale, mentre i numeri negativi influenzano arrotondamento a sinistra del separatore decimale. Ad esempio, una scala di 3 arrotonderebbe al millesimo più vicino (9.8765 diventa 9.877). Zero arrotonda al numero intero più vicino ed è il valore predefinito se la scala non è specificato.
Altri sottotipi di numero
I sottotipi di numero a precisione doppia e galleggiante possono essere utilizzati per dichiarare numeri a virgola mobile con una precisione massima di 38 cifre decimali. Il sottotipo reale può essere utilizzato per dichiarare i numeri a virgola mobile con una precisione massima di 18 cifre decimali. Il sottotipo INTEGER può essere utilizzato per dichiarare interi con una precisione massima di 38 cifre decimali.