存储过程的PL / SQL Developer测试窗口将数字值转换为科学计数法

时间:2015-09-15 23:29:40

标签: plsqldeveloper

我使用PL / SQL Developer使用测试窗口来测试接受Number类型值的存储过程。传递给存储过程的值I 37788024213340161.但是,我注意到PL / SQL将该值转换为科学记数法并向上舍入,并将不同的值传递给存储过程:(3.77880242133402E16)

因此,在执行存储过程时,它最终使用舍入值而不是我想要使用的值。最终传递给存储过程的值是37788024213340200.其中最后3个数字应该是161,但PL / SQL Developer四舍五入,现在值为200。

有没有办法在PL / SQL Developer中设置首选项,以便它不会更改值以在测试窗口中使用科学记数法?

enter image description here

3 个答案:

答案 0 :(得分:0)

数字正确存储在数据库中。问题仅在于它们显示给您的方式。

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

答案 1 :(得分:0)

尝试此解决方法

:numStr := to_char(:gecid);

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

答案 2 :(得分:0)

另外,您可以尝试在PL / SQL Developer的测试窗口中查看完整值,以便从" float"切换类型。 to" string"