Oracle inserta números de tipo de número de más de 16 dígitos, redondeados automáticamente en la pantalla pl / sql

1. Descripción del fenómeno

Hoy encontré un problema relativamente grave y me llevó mucho tiempo investigarlo, por lo que debe registrarse.
Un tipo de campo de la base de datos Oracle es el número (16,10), el valor insertado es 999999.9999999999 y se muestra como 1000000.000000000 en pl / sql, que se redondea automáticamente. Sospecho que la precisión no es suficiente, así que cambié el campo a número (20,12), el resultado es el mismo, pero es 999999.9999999999 en el extremo frontal. Desconcertado

2. Razón

pl / sql redondea automáticamente la estructura de consulta para números mayores de 16 dígitos, pero la base de datos aún conserva el valor original, lo que significa que el valor guardado no ha cambiado.

3. Solución

Herramientas PL / SQL-> Preferencias, ventana sql-> verifique el campo numérico to_char.
Inserte la descripción de la imagen aquí
También puede usar la función to_char directamente, por ejemplo,
seleccione to_char (dinero) de xxx_table.

Referencia: https://blog.csdn.net/YimBa/article/details/78367357

97 artículos originales publicados · elogiados 3 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/qq_39530821/article/details/102924178
Recomendado
Clasificación