【问题标题】:How to remove decimal in script in SQL Developer如何在 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单元格格式?
  • 如果它没有任何区别,那你为什么要删除它?您试图通过删除不会改变脚本结果的内容来解决什么问题?
  • 你的领导知道这不会产生影响吗?

标签: sql oracle oracle-sqldeveloper sql-insert


【解决方案1】:

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

【讨论】:

  • 是的,我也知道 SQLLDR,但是我没有权限使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多