我需要选择最接近日期参数的前一个日期。目前,我正在使用此代码选择最接近日期的任何一方:
SELECT TOP 1 equities, fund, e_date
FROM tbl_assetmix
WHERE fund = @fund_code
ORDER BY ABS(DateDiff(dd, e_date, @statementdate)) asc
我知道这很简单,但有人可以建议我如何选择@statementdate参数之前的最近日期吗?
谢谢, 特里斯坦
答案 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
如果允许同一天。