【发布时间】:2016-03-05 02:45:19
【问题描述】:
我面临一个非常不同的问题,无法弄清楚可能是什么原因造成的。
我在 SQL Developer 中运行了一个查询,该查询来自 4 个不同表的连接。
然后,我将结果网格中的输出复制到 Excel 中。
现在,当我在 SQL Developer 中查看输出并将其与 excel 中的数据进行比较时,它们看起来不同。
例如,对于同一行,列中有不同的值。
这怎么可能呢?
我正在使用 Oracle 12C。
【问题讨论】:
-
你能发布一个测试案例来证明这个问题吗?在我的脑海中,也许你有一个不确定的查询。也许您实际上对这两个查询有所不同。也许您在复制数据或比较数据时犯了错误。也许您连接到不同的数据库/模式/任何东西。也许您希望数据按特定顺序排列,但您得到的数据顺序不同。
-
不幸的是,它是生产数据,所以我无法在此处生成它,但我可以向您保证以下几点: 1. 我使用的是单个查询。另一个数据集只是复制并粘贴到 Excel 中。 2. 由于它是完整的数据集副本,因此出错的可能性非常小。中间我没有改变任何东西。
-
在 Excel 中,转到“数据”选项卡,然后按“文本到列”按钮。选中分隔符,点击下一步。在第二个屏幕上,查看已检查的分隔符。在这些分隔符之后粘贴数据。因此,如果选中了句点,它将用小数分割数字。如果选项卡是唯一选择的选项,通常效果最好。
-
我查过了。一切看起来都很好。唯一选择的值是选项卡。问题不在于列的顺序,列本身的数据似乎是错误的。例如在 SQL Developer 中,我看到 A 列和 B 列的值为 6001 和 6001,但在 excel 中,值变为 6001 和 6002。
-
如果您无法生成测试用例,那么任何人都很难推测您可能遇到了什么问题。我猜你有一个不确定的查询,或者你在比较数据时犯了一个错误,可能是因为你期望数据按特定顺序但没有提供
order by。您是否可能遇到过 Oracle 错误?当然。但我敢打赌。
标签: excel oracle oracle-sqldeveloper