2017-03-11 30 views
0

我有一个excel文件,其中列rule_Number是一个4位数字,并且对于少数几行具有前导零。使用SQL Developer导入到数据库表中的问题

在excel文件中,我将单元格格式化为“0000”格式。现在值正确显示在excel文件

但是当我导入Excel文件导入的SQLDeveloper,则值“0117”被改变为“117.0”

可能有人请让我知道正确的格式我应该在Excel中使用,以便SQLDeveloper可以正常工作?

谢谢。

+0

导入 '到SQL开发'?你不是说'使用SQL Developer导入数据库表'吗?目标字段是什么数据类型?如果它是一个数字类型,那么我认为它不会在SQL Developer中显示前导零。如果它是一个字符串,那么您可能需要在Excel数据的顶部有一个虚拟行,并在rule_Number列中使用类似'xxxx'的字段强制SQL Developer将该列视为字符串数据。这纯粹是猜测,基于几年前导入SQL Server的类似经验。 – Skippy

+0

数据类型是VARCHAR2。我曾尝试通过在'xxxx'的excel文件中插入一个虚拟行,但这不起作用。唯一可行的临时选项是将数据从excel中复制并直接粘贴到SQL Developer中(在SQL开发人员GUI中添加空行后) – firstpostcommenter

+0

嗯,您可能已经格式化了Excel单元格,以便117显示为“0117”,但就Excel而言,它仍然是一个数值。我怀疑要让它作为varchar2导入的唯一方法是通过在单元格中输入“'0117”来告诉Excel它是字符串数据(注意前面的撇号)。 – Skippy

回答

0

答案:将您的Excel数值数据转换为带前导零的字符串数据。

0

个人宁愿使用复制/粘贴之前这个Excel公式作为值返回到目标列:

= TEXT(A2, “0000”)

相关问题