Oracle数据库编号类型字段未存储我输入的值
在oracle中,当我尝试将此值保存到数字类型字段37788024213340160中时,它会转换为3.778802422133402E16 这是不好的,因为它是向上舍入值,我需要它来保持我输入到字段中的精确值 你知道如何阻止这种事情发生吗 如果这有帮助,下面是相关字段(MIN_ID)的确切定义:Oracle数据库编号类型字段未存储我输入的值,oracle,oracle11g,plsqldeveloper,Oracle,Oracle11g,Plsqldeveloper,在oracle中,当我尝试将此值保存到数字类型字段37788024213340160中时,它会转换为3.778802422133402E16 这是不好的,因为它是向上舍入值,我需要它来保持我输入到字段中的精确值 你知道如何阻止这种事情发生吗 如果这有帮助,下面是相关字段(MIN_ID)的确切定义: 这只是一个格式/显示问题: SQL> create table subgrp ( 2 id number not null, 3 name varchar2
这只是一个格式/显示问题:
SQL> create table subgrp (
2 id number not null,
3 name varchar2(128) not null,
4 min_id number
5 );
Table created.
SQL> insert into subgrp values ( 123, 'test', 37788024213340160 );
1 row created.
SQL> commit;
Commit complete.
SQL> select * from subgrp;
ID
----------
NAME
--------------------------------------------------------------------------------
MIN_ID
----------
123
test
3.7788E+16
SQL> col min_id format 999999999999999999999999999
SQL> /
ID
----------
NAME
--------------------------------------------------------------------------------
MIN_ID
----------------------------
123
test
37788024213340160
SQL>
这只是一个格式/显示问题:
SQL> create table subgrp (
2 id number not null,
3 name varchar2(128) not null,
4 min_id number
5 );
Table created.
SQL> insert into subgrp values ( 123, 'test', 37788024213340160 );
1 row created.
SQL> commit;
Commit complete.
SQL> select * from subgrp;
ID
----------
NAME
--------------------------------------------------------------------------------
MIN_ID
----------
123
test
3.7788E+16
SQL> col min_id format 999999999999999999999999999
SQL> /
ID
----------
NAME
--------------------------------------------------------------------------------
MIN_ID
----------------------------
123
test
37788024213340160
SQL>
PL/SQL Developer取整并以科学记数法将值显示为15位数字,而不是显示原始的整数,这一问题导致我的Web应用程序也显示了不正确的取整数字 经过一些研究,我决定尝试更改PL/SQLDeveloper首选项中的一个设置,以便显示整个数字。这就成功了,现在当我查询它在PL/SQL和我的Web应用程序中正确显示的值时 为此,我做了以下工作:
Tools -> Preferences -> SQL Window -> (Select this): Number fields to_char
此外,还可以使用to_char()将读取内容包装到列中,这将显示正确的未格式化值 PL/SQL Developer取整并以科学记数法将值显示为15位数字而不是显示原始整数的问题,导致我的Web应用程序也显示了不正确的取整数字 经过一些研究,我决定尝试更改PL/SQLDeveloper首选项中的一个设置,以便显示整个数字。这就成功了,现在当我查询它在PL/SQL和我的Web应用程序中正确显示的值时 为此,我做了以下工作:
Tools -> Preferences -> SQL Window -> (Select this): Number fields to_char
此外,还可以使用to_char()将读取内容包装到列中,这将显示正确的未格式化值 请显示该字段的确切定义。最好是
createtable
语句。我敢打赌,问题在于无论您有什么前端(SQL*Plus
?)都在使用科学记数法显示数据并进行舍入。你用的是什么前端?如果您使用的是SQL*Plus,请将格式设置为显示希望看到的位数。请显示字段的确切定义。最好是createtable
语句。我敢打赌,问题在于无论您有什么前端(SQL*Plus
?)都在使用科学记数法显示数据并进行舍入。你用的是什么前端?如果您使用的是SQL*Plus,请将格式设置为显示希望看到的位数。PL/SQL是一种语言。听起来您好像在说GUI中的设置是问题所在。也许您的GUI是AllAround Automations的PL/SQL开发人员?是的,我的意思是让PL/SQL开发人员。谢谢下面是一个他们讨论这个问题的论坛,供参考:PL/SQL是一种语言。听起来您好像在说GUI中的设置是问题所在。也许您的GUI是AllAround Automations的PL/SQL开发人员?是的,我的意思是让PL/SQL开发人员。谢谢以下是他们讨论这个问题的论坛,供参考: