首页 > 解决方案 > 如何在 SQL Developer 中删除脚本中的小数点

问题描述

我试图将大量数据从 Excel 加载到一个 Oracle 表中,所以我尝试使用 Oracle SQL Developer。

INSERT它为 20,0000 条记录生成了一个脚本。但问题是我得到了带有小数的 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');

我想INSERT为 NUMBER 值获取不带小数点的脚本。

注意:这些十进制值不会出现在 Excel 数据中,而只会出现在 INSERT 脚本中。

任何人面对这个或建议在 SQL 或 PL/SQL 中进行批量插入的任何其他方法?

标签: sqloracleoracle-sqldevelopersql-insert

解决方案


如果您要有效地从 Excel 加载大量数据,我建议将 Excel 的格式转换为 CSV 并使用sqlldr在那里您可以创建一个控制文件,您可以在其中调整数据并执行 TRUNC、ROUND 和条件处理。


推荐阅读