Excel查询显示与SSMS查询不同的结果

时间:2013-04-26 14:21:39

标签: sql sql-server excel sql-server-2000

我有一个奇怪的错误,我无法解释。基本上,我正在使用excel运行查询到我的SQL数据库,并且当我的数据库中有一个非常特殊的订单时,我会弹出不存在的数据。

以下是围绕此顺序的简单查询:

  

从OR200100中选择*,其中OR200100.OR20001 ='0000793605'

这是EXCEL中的输出 enter image description here

这是SQL中的相同输出 enter image description here

这里发生了什么?相同的查询如何生成2个不同的结果?

3 个答案:

答案 0 :(得分:1)

如果可以,请对数据库运行SQL Server Profiler,然后将输出与您在ssms中运行的sql查询进行比较。

答案 1 :(得分:1)

好吧,那么它是SQL Server,这很重要,因为不同的SQL产品可能有非常不同的特性和控件。

接下来要检查的是:

  1. OR200100是表还是视图?如果是视图,则发布它的代码。

  2. 您是否使用Excel和SSMS中的相同登录/帐户?

  3. 确定 您是否正在连接到同一服务器和数据库? SSMS会告诉您连接的内容,但Excel之类的客户端应用程序不会,并且由于应用程序连接到数据库的Dev或QA版本而引起的此类问题非常非常。有关可能发生这种情况的一些不同方式,请参阅here

答案 2 :(得分:0)

所以我遇到了一个非常类似的问题,我的查询按周数分组。我发现其中一个查询设置了datefirst 5 set而另一个没有设置。我想这里的关键是确保,如果您在ssms查询中使用任何SET操作,这些操作与Excel查询字符串中的操作相同。