【发布时间】:2015-07-23 02:41:57
【问题描述】:
我正在将 oracle 表中的数据导出到 csv 文件中。我有一列 varchar2 数据类型,它的值类似于 1.1 和 1.10。当我将这些导出到 csv 文件时,值 1.10 变为 1.1 并因此创建重复记录。有没有办法将值 1.10、1.1 都放入 csv 文件中而不会丢失“1.10”中的最后一个零。
谢谢
【问题讨论】:
-
数字 1.1 与数字 1.10(或 1.100 或 1.1000)完全相同。您可以调用
to_char来生成具有不同数量的尾随0 的字符串,但您需要知道您想要多少个小数位。如果您真的在使用float并且该列是唯一的,则其中之一不能完全是您认为的值。 -
好的。那么您如何将数据导出为 CSV 以及如何读取 CSV 数据?是否有可能任何应用程序(即 Excel)正在写入或读取数据认为该列是一个数字而不是一个字符串?
-
我正在使用 sqldeveloper 和 pl/sql developer 并使用 excel 打开 csv 文件。理想情况下,它应该显示数字,因为它是一个 varchar。但这并没有发生。当我以 xls 格式导出它时,我得到了正确的结果。但不是 csv。 Bu 我希望文件为 csv 格式。
-
如果您在文本编辑器中打开 CSV 文件,那里是 0 吗?默认情况下,如果您打开它,Excel 通常会将 CSV 文件中包含数字数据的列视为数字而不是文本。当您在 Excel 提供的向导中打开 CSV 文件时,您需要指定该列应被视为文本数据。
-
在 notepad++ 中打开时可以看到正确的值。
标签: oracle csv oracle-sqldeveloper number-formatting export-to-csv