我有汇率表,其中有多个日期明智的汇率记录。
Date Rate
17/05/2012 5
23/05/2012 6
27/05/2012 7
现在我想要在传递任何日期时进行评分,例如,如果我通过 20/05/2012 那么评分 5 应该返回,因为 20/05/2012 已在 2012 年 5 月 17 日至 23 日的日期范围内过去。
我有汇率表,其中有多个日期明智的汇率记录。
Date Rate
17/05/2012 5
23/05/2012 6
27/05/2012 7
现在我想要在传递任何日期时进行评分,例如,如果我通过 20/05/2012 那么评分 5 应该返回,因为 20/05/2012 已在 2012 年 5 月 17 日至 23 日的日期范围内过去。
假设您有正确的数据类型(也就是说,不是 varchar 来存储日期值......)
SELECT TOP 1
Rate
FROM
MyTable
WHERE
DateColumn <= '20120520'
ORDER BY
DateColumn DESC
像这样的东西会起作用:
select Rate from tablename where Date in (
select max(Date) as Date
from tablename
where Date <= convert(datetime, '20/05/2012', 103)
)