DATOS NUMERICOS ORACLE 21

Los tipos de datos numéricos de Oracle Database almacenan números de punto fijo y flotante positivos y negativos, cero, infinito y valores que son el resultado indefinido de una operación.

  • NUMBER

El NUMBER tipo de datos almacena cero, así como números fijos positivos y negativos con valores absolutos desde 1,0 x 10 -130 hasta, sin incluir, 1,0 x 10 126 . Si especifica una expresión aritmética cuyo valor tiene un valor absoluto mayor o igual a 1,0 x 10 126 , Oracle devuelve un error. Cada NUMBER valor requiere de 1 a 22 bytes.

Especifique un número de punto fijo utilizando el siguiente formulario:

NUMBER(p, s)

dónde:

  • p es la precisión , o el número máximo de dígitos decimales significativos, donde el dígito más significativo es el dígito distinto de cero situado más a la izquierda y el dígito menos significativo es el dígito conocido más a la derecha. Oracle garantiza la portabilidad de los números con una precisión de hasta 20 dígitos en base 100, lo que equivale a 39 o 40 dígitos decimales dependiendo de la posición del punto decimal.

  • s es la escala , o el número de dígitos desde el punto decimal hasta el dígito menos significativo. La escala puede oscilar entre -84 y 127.

  • La escala negativa es el número de dígitos significativos a la izquierda del punto decimal, sin incluir el dígito menos significativo. Para la escala negativa, el dígito menos significativo está en el lado izquierdo del punto decimal, porque los datos reales se redondean al número especificado de lugares a la izquierda del punto decimal. Por ejemplo, una especificación de (10,-2) significa redondear a centenas

  • La escala positiva es el número de dígitos significativos a la derecha del punto decimal incluyendo el dígito menos significativo.

ALMACENAMIENTO DE ESCALA Y PRECISIÓN


  • FLOAT
El FLOAT tipo de datos es un subtipo de NUMBER. Se puede especificar con o sin precisión, que tiene la misma definición que tiene NUMBER y puede variar de 1 a 126. No se puede especificar la escala, pero se interpreta a partir de los datos. Cada FLOAT valor requiere de 1 a 22 bytes.

CÓDIGO

CREAR TABLA prueba (col1 NÚMERO (5,2), col2 FLOAT (5)); 

INSERTAR EN VALORES de prueba (1.23, 1.23); 
INSERTAR EN VALORES de prueba (7.89, 7.89); 
INSERTAR EN VALORES de prueba (12.79, 12.79); 
INSERTAR EN VALORES de prueba (123.45, 123.45); 

SELECCIONAR * DE prueba; 

   COL1   COL2 
----------   ---------- 
      1,23      1,2 
      7,89      7,9 
     12,79     13 
    123,45   120

  • PUNTO FLOTANTE
Los números de punto flotante pueden tener un punto decimal desde el primero al último dígito o pueden no tener ningún punto decimal. Opcionalmente, se puede usar un exponente después del número para aumentar el rango, por ejemplo, 1,777 e -20 . Un valor de escala no es aplicable a números de punto flotante, porque el número de dígitos que pueden aparecer después del punto decimal no está restringido.

  • BINARY FLOAT
BINARY_FLOAT es un tipo de datos numérico de punto flotante de precisión simple de 32 bits. Cada BINARY_FLOAT valor requiere 4 bytes.

  • BINARY DOUBLE

BINARY_DOUBLE es un tipo de datos numérico de punto flotante de doble precisión y 64 bits. Cada BINARY_DOUBLE valor requiere 8 bytes.

En una NUMBER columna, los números de coma flotante tienen precisión decimal. En una columna BINARY_FLOAT BINARY_DOUBLE, los números de punto flotante tienen precisión binaria.




REFERENCIAS:

https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Data-Types.html#GUID-F6309DF8-162F-48A4-9454-FEE59EC6644F







Comentarios

Entradas más populares de este blog

Cadenas de Caracteres parte 2.

DATOS BINARIOS EN ORACLE 21.