我有一个小的SQL查询,用于在Oracle DB中运行并获取一些结果。
现在这个查询工作得很好,但在SQL 2008中没有。,即SQL 2000返回的结果超过10k,而SQL 2008的结果为零。
当我进入深度时,我发现,最后一行HAVING trunc(MIN(processed_date)) Between ''01-Sep-2005'' And ''01-Oct-2005''
完全不同。如果我在两个版本中删除此行,结果都是相同的。请为此路障建议一个替代方案,以便我在2008年获得相同的结果。正如我在2000年获得的那样。
Select *
FROM OPENQUERY( ORAXYZ, '
SELECT DISTINCT(file_num),
to_char(MIN(Processed_date), ''YYYYMMDD'') Processed_date,
to_char(MIN(Report_Date), ''YYYYMMDD'') Report_Date,
file_stmt
FROM FILE_RECORDS
GROUP BY file_num, file_stmt
--processed_date value is truncated to date portion
HAVING trunc(MIN(processed_date)) Between ''01-Sep-2005'' And ''01-Oct-2005''
')
答案 0 :(得分:0)
HAVING CAST( MIN(processed_date) AS Date) BETWEEN '2005-09-01' AND '2005-10-01'