Oracle DBで実行するために使用され、結果を取得する小さなSQLクエリがあります。
現在、このクエリは SQL 2000 では正常に機能しますが、SQL 2008 では機能しません。つまり、SQL 2008 のゼロ結果と比較して、SQL 2000 は 10,000 を超える結果を返します。
私が見つけた詳細に行ったとき、最後の行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''
')