SQL Developer 和 excel 中的 Oracle 输出不同
Oracle output different in SQL Developer and excel
我面临一个非常不同的问题,无法弄清楚是什么原因造成的。
我 运行 SQL Developer 中的一个查询来自 4 个不同表的连接。
然后我从结果网格复制输出并将其复制到 Excel。
现在,当我在 SQL Developer 中查看输出并将其与 excel 中的数据进行比较时,它们看起来不同。
例如,对于同一行,列中有不同的值。
这怎么可能呢?
我正在使用 Oracle 12C。
我有同样的问题。
据我了解,这是一个与 SQL 开发人员相关的问题。
你提到 Excel,所以我想你在 Windows。
当你说:复制时,windows尝试复制一个对象的内容。
问题是:SQL Developer 上的网格不是一个包含所有结果的对象。它只显示一部分数据。所以,实际上,虽然它可以将所有结果都存储在内存中,但如果不是一个小区域,则不能从中复制和粘贴。
从开发人员 SQL 到 Excel 最快的方法是:
- 运行 您的查询
- 移动到网格的末尾,获取所有结果
- 右键单击网格并select:导出
- 随心导出
我知道这种方式不如复制和粘贴快,但是,由于 SQL 开发人员(或 Java,我不知道)的限制,当你有更多行时,才是正确的做法。
$ 0.02 more ...从 SQL 复制数据对我来说开发人员一直很干净。 (@thatjeffsmith 是正确的;这是剪贴板行为)
当我复制到 Excel 时,目标 sheet 中的默认格式有时会影响最终的数据外观。如果您最终导出该传播sheet,(例如另存为...和select CSV),您将对数据进行另一次转换。
我终于找到了我面临的问题。确实是升级到Oracle 12C后的Oracle问题。我们与 Oracle 支持部门进行了交谈,他们的回复如下:
在散列连接将接收行集作为输入并一次生成一行作为输出的情况下,涉及散列连接的查询返回错误结果。
因此,查询变得不确定,并在不同的实例中给出不同的计数。
当查询在 SQL 开发人员中使用 where 子句 运行 时,SQL 开发人员由于 where 子句而提供了不同的输出,因为它改变了执行计划但是当我粘贴它时在 Excel 然后过滤,它显示不同的值,因为在这种情况下,查询计划不同,因为没有 where 子句。
抱歉,如果我的问题造成任何混乱。在要求 DBA 就此联系 Oracle 支持之前,我只是想确认是否有其他问题。
我面临一个非常不同的问题,无法弄清楚是什么原因造成的。
我 运行 SQL Developer 中的一个查询来自 4 个不同表的连接。
然后我从结果网格复制输出并将其复制到 Excel。
现在,当我在 SQL Developer 中查看输出并将其与 excel 中的数据进行比较时,它们看起来不同。
例如,对于同一行,列中有不同的值。
这怎么可能呢?
我正在使用 Oracle 12C。
我有同样的问题。
据我了解,这是一个与 SQL 开发人员相关的问题。
你提到 Excel,所以我想你在 Windows。
当你说:复制时,windows尝试复制一个对象的内容。
问题是:SQL Developer 上的网格不是一个包含所有结果的对象。它只显示一部分数据。所以,实际上,虽然它可以将所有结果都存储在内存中,但如果不是一个小区域,则不能从中复制和粘贴。
从开发人员 SQL 到 Excel 最快的方法是:
- 运行 您的查询
- 移动到网格的末尾,获取所有结果
- 右键单击网格并select:导出
- 随心导出
我知道这种方式不如复制和粘贴快,但是,由于 SQL 开发人员(或 Java,我不知道)的限制,当你有更多行时,才是正确的做法。
$ 0.02 more ...从 SQL 复制数据对我来说开发人员一直很干净。 (@thatjeffsmith 是正确的;这是剪贴板行为)
当我复制到 Excel 时,目标 sheet 中的默认格式有时会影响最终的数据外观。如果您最终导出该传播sheet,(例如另存为...和select CSV),您将对数据进行另一次转换。
我终于找到了我面临的问题。确实是升级到Oracle 12C后的Oracle问题。我们与 Oracle 支持部门进行了交谈,他们的回复如下: 在散列连接将接收行集作为输入并一次生成一行作为输出的情况下,涉及散列连接的查询返回错误结果。
因此,查询变得不确定,并在不同的实例中给出不同的计数。 当查询在 SQL 开发人员中使用 where 子句 运行 时,SQL 开发人员由于 where 子句而提供了不同的输出,因为它改变了执行计划但是当我粘贴它时在 Excel 然后过滤,它显示不同的值,因为在这种情况下,查询计划不同,因为没有 where 子句。
抱歉,如果我的问题造成任何混乱。在要求 DBA 就此联系 Oracle 支持之前,我只是想确认是否有其他问题。