如何在 SQL Developer 中删除脚本中的小数点
Posted
技术标签:
【中文标题】如何在 SQL Developer 中删除脚本中的小数点【英文标题】:How to remove decimal in script in SQL Developer 【发布时间】:2020-06-25 03:52:53 【问题描述】:我试图将大量数据从 Excel 加载到一个 Oracle 表中,因此我尝试使用 Oracle SQL Developer。
它为 20,0000 条记录生成了一个 INSERT
脚本。但问题是我得到了带有小数的 NUMBER 值,如下所示:
INSERT INTO test_tb (FI_KEY, CL_KEY, ST_KEY, CL_NUMBER, YE, PA_NAME, RA_KEY, SH_KEY, B_NUMBER, FLAG, CREATED_BY, CREATED_DATE, ACTIVE_STATUS)
VALUES (691001.0, 1.0, 1.0, '387136', 2020.0, 'KUR', 370.0, 2221.0, 'J-12708', 'Y', 'admin', to_timestamp('03/11/2020', 'DD-MM-YY HH12:MI:SSXFF AM'), 'Y');
我想为 NUMBER 值获取不带小数点的 INSERT
脚本。
注意:这些十进制值不会出现在 Excel 数据中,而只会出现在 INSERT 脚本中。
任何人面对这个或建议任何其他方法在 SQL 或 PL/SQL 中进行批量插入?
【问题讨论】:
您能否检查并确认表格和 excel 单元格格式的 DDL 是什么。这可能会解决您的问题 没关系。.0
不会真正存储在数据库中。您无需做任何事情。 dbfiddle.uk/…
@DeepakKumar 如何检查excel单元格格式?
如果它没有任何区别,那你为什么要删除它?您试图通过删除不会改变脚本结果的内容来解决什么问题?
你的领导知道这不会产生影响吗?
【参考方案1】:
如果您要有效地从 Excel 加载大量数据,我建议将 Excel 的格式转换为 CSV 并使用 sqlldr 在那里您可以创建一个控制文件,您可以在其中调整数据并执行 TRUNC、ROUND和条件处理。
【讨论】:
是的,我也知道 SQLLDR,但是我没有权限使用它。以上是关于如何在 SQL Developer 中删除脚本中的小数点的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Developer 中的 PLSQL 错误后抑制脚本显示(禁用命令/代码输出)
在 Oracle SQL Developer 中恢复未保存的 SQL 查询脚本
如何从 case when 中删除 NULL 然后输出 Oracle SQL Developer
如何在 Oracle SQL Developer 中多次执行相同的存储过程?