2

我有汇率表,其中有多个日期明智的汇率记录。

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 日的日期范围内过去。

4

2 回答 2

3

假设您有正确的数据类型(也就是说,不是 varchar 来存储日期值......)

SELECT TOP 1
  Rate
FROM
  MyTable
WHERE
  DateColumn <= '20120520'
ORDER BY
  DateColumn DESC
于 2012-05-22T12:08:25.717 回答
1

像这样的东西会起作用:

select Rate from tablename where Date in (
  select max(Date) as Date
  from tablename
  where Date <= convert(datetime, '20/05/2012', 103)
  )
于 2012-05-22T12:08:33.040 回答