为什么oracle的number(19)类型数据用科学计数法表示,并且自动从16位截掉?
2012-01-10 10:18
525 查看
reference:http://www.itpub.net/290118.html question: 为什么oracle的number(19)类型数据用科学计数法表示,并且自动从16位截掉? 我通过oracle migration workbeach 从sqlserver中导入库到oracle,bigint类型自动映射成了number(19),我发现1234567890123456789自动会 存储为1.23456789012346E19,在toad中加大number(19)到number(38),亦是从16位截断? 后来用update sql语句时发现系统还是可以存储为1234567890123456789,只是在toad工具里,pl/sql工具里,以及oracle migration workbeach转换时,这些工具自动解析存为16位截断的科学计数法方式的数据了, 问题一:bigint应该转换为number(19)吗 问题二:toad或pl/sql中有地方设置不从16位截断吗 问题三:原来的数据该怎么找回来? answer: 原来是oracle migration workbeach在转换过程中自动将大数用科学记数法的方式表示,因此改变了许多大数的真正值。 而toad和pl/sql developer中也默认将大数显示为科学计数法方式,极为不便。 在toad中->view->option->data->display large number in scientific notation,不选择该选项即可 在pl/sql developer中->tools->preferences->sql windows->number fields tochar,选中该选项即可。 但我又遇到了一个问题,在pl/sql developer的test windows中,测试存储过程时,test window下方的方格(即存储过程的各个参数),这里若录入一个大number数,则自动变成科学计数法(不光改变显示,改变了值),而使存储过程无法 计算下去,我怎么也找不到消去这种显示方式的地方,哪位兄弟知道啊? |
相关文章推荐
- 解决从pl/sql查看oracle的number(19)类型数据为科学计数法的问题
- 解决从pl/sql查看oracle的number(19)类型数据为科学计数法的有关问题
- loopback-connector-oracle 主键Number类型长度为16位以上查询不到数据解决方法
- 查看oracle的number(20)类型数据为科学计数法的问题
- Oracle数据类型之number
- Oracle数据类型之number(转)
- ORACLE自动增长数据类型
- Oracle 数据类型之 Number
- oracle number数据类型
- DB字段顺序与类的属性顺序一致:{Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER
- oracle中number数据类型对应java中的基本数据类型
- oracle的number数据类型
- oracle number数据类型
- Oracle数据类型之number
- Oracle number数据类型介绍
- Oracle数据类型之number
- PL/SQL中插入number类型数字超过16位保留位数自动四舍五入
- Oracle中char数据类型,length长度不足时,会自动用空格补上
- Oracle NUMBER数据类型
- (转载)你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)