Directorio de artículos
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.
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