PL/SQL 开发人员测试 Window 存储过程将数字值转换为科学记数法

PL/SQL Developer Test Window for Stored Procedure turns number value into scientific notation

我正在使用 PL/SQL 开发人员使用测试 Window 来测试接受数字类型值的存储过程。我传递给存储过程的值是 37788024213340161。但是,我注意到 PL/SQL 将该值转换为科学记数法并四舍五入,并将不同的值传递给存储过程:(3.77880242133402E16)

因此,在执行存储过程时,它最终使用的是向上舍入的值,而不是我打算使用的值。最终传递给存储过程的值为 37788024213340200。最后 3 个数字本应为 161,但 PL/SQL 开发人员四舍五入,现在值为 200。

有没有办法在 PL/SQL 开发人员中设置首选项,这样它就不会更改值以在测试中使用科学记数法 Window?

号码已正确存储在数据库中。问题仅在于它们向您显示的方式。

我现在无法访问 PL/SQL 开发人员。但是,我认为你可以试试这个: 在 PL/SQL Developer's Preferences 配置对话框中,选中 SQL Window 选项卡上的 "Number fields to_char"。

试试这个解决方法

:numStr := to_char(:gecid);

这将添加一个输出参数 "numStr"。要查看变量列表中的 numStr,请按箭头(黑色圆圈白色箭头)。对于输出参数,您不需要声明它们。

哦,为了在 PL/SQL 开发人员的测试 Window 中查看完整值,您可以尝试做的另一件事是将类型从 "float" 切换为 "string"