获取最接近的上一个日期T-SQL

时间:2010-11-18 12:18:36

标签: sql sql-server database tsql

我需要选择最接近日期参数的前一个日期。目前,我正在使用此代码选择最接近日期的任何一方:

SELECT TOP 1 equities, fund, e_date
        FROM tbl_assetmix
        WHERE fund = @fund_code
        ORDER BY ABS(DateDiff(dd, e_date, @statementdate)) asc

我知道这很简单,但有人可以建议我如何选择@statementdate参数之前的最近日期吗?

谢谢, 特里斯坦

1 个答案:

答案 0 :(得分:3)

仅选择日期在@statementdate之前的行:

SELECT TOP 1 equities, fund, e_date
FROM tbl_assetmix
WHERE fund = @fund_code
AND e_date < @statementdate
ORDER BY ABS(DateDiff(dd, e_date, @statementdate)) asc

或替换

AND e_date < @statementdate

AND e_date <= @statementdate

如果允许同一天。