我正在尝试调试显示一些可疑结果的 SSRS 报告。我正在使用 sql profiler 我已经获取了它正在运行的确切查询,该查询是使用 exec sp_executesql 执行的。
查询正在从视图返回结果。
如果我按原样运行包括 sp_executesql 的查询,我会得到一组结果。如果我抓住嵌套在里面的查询并自己运行它,我会得到一组不同的结果。
我不知道这怎么可能。查询是相同的,我的印象是 sp_executesql 只是执行查询。
有什么我遗漏的或者我该如何进一步调试?
exec 调用看起来像这样:
exec sp_executesql N'SELECT FirstName, LastName, DateOfBirth FROM ViewName WHERE
DateOfBirth >= @pStartDate AND DateOfBirth <= @pEndDate',N'@pStartDate datetime,
@pEndDate datetime',@pDate='2010-07-17 00:00:00:000',@pEndDate=''2010-07-17
23:59:59:000'
如果我运行它,我会得到一组结果。
然后,如果我运行:
SELECT FirstName, LastName, DateOfBirth FROM ViewName WHERE
DateOfBirth >= '2010-07-17 00:00:00:000' AND
DateOfBirth <= '2010-07-17 23:59:59:000'
我得到的结果略有不同。