我有汇率表,其中有多个具有汇率的日期明智记录。
Date Rate
17/05/2012 5
23/05/2012 6
27/05/2012 7
现在我希望在通过任何日期时率,如果,我通过20/05/2012然后费率5应该返回,因为20/05/2012在日期范围17和23可能会在2012年过去。
答案 0 :(得分:3)
假设您有正确的数据类型(即,不存储日期值的varchar ......)
SELECT TOP 1
Rate
FROM
MyTable
WHERE
DateColumn <= '20120520'
ORDER BY
DateColumn DESC
答案 1 :(得分:1)
这样的事情会起作用:
select Rate from tablename where Date in (
select max(Date) as Date
from tablename
where Date <= convert(datetime, '20/05/2012', 103)
)