Qual è la differenza tra precisione e scala in Oracle? Nei tutorial di solito lasciano vuota la scala e impostano la precisione su 6 durante la creazione di una chiave primaria.
Cosa significano precisione e scala?
Qual è la differenza tra precisione e scala in Oracle? Nei tutorial di solito lasciano vuota la scala e impostano la precisione su 6 durante la creazione di una chiave primaria.
Cosa significano precisione e scala?
Risposte:
Precisione 4, scala 2: 99,99
Precisione 10, scala 0: 9999999999
Precisione 8, scala 3: 99999.999
Precisione 5, scala -3: 99999000
La precisione è il numero di cifre significative. Oracle garantisce la portabilità dei numeri con precisione compresa tra 1 e 38.
Scala è il numero di cifre a destra (positivo) o a sinistra (negativo) del punto decimale. La scala può variare da -84 a 127.
Nel tuo caso, ID con precisione 6 significa che non accetterà un numero con 7 o cifre più significative.
Riferimento:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832
Quella pagina contiene anche alcuni esempi che ti faranno comprendere precisione e scala.
La precisione è il numero totale di cifre, può essere compreso tra 1 e 38.
Scala è il numero di cifre dopo il punto decimale, può anche essere impostato come negativo per l'arrotondamento.
Esempio:
NUMERO (7,5): 12.12345
NUMERO (5,0): 12345
Maggiori dettagli sul sito web ORACLE:
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832
Forse più chiaro:
Si noti che la precisione è il numero totale di cifre, scala inclusa
NUMERO (Precision, Scale)
Precisione 8, scala 3: 87654.321
Precisione 5, scala 3: 54.321
Precisione 5, scala 1: 5432.1
Precisione 5, scala 0: 54321
Precisione 5, scala -1: 54320
Precisione 5, scala -3: 54000
precisione: è il numero totale di cifre prima o dopo il punto di radice. ES: 123.456 qui la precisione è 6.
Scala: è il numero totale di cifre dopo il punto di radice. ES: 123.456 qui Scaleis 3
Se il valore è 9999.988 e Precisione 4, scala 2, significa 9999 (rappresenta la precisione) .99 (la scala è 2, quindi .988 è arrotondato a .99)
Se il valore è 9999.9887 e la precisione è 4, la scala è 2, significa 9999.99