2

為替レートを含む複数の日付ごとのレコードがある為替レート表があります。

Date           Rate
17/05/2012     5
23/05/2012     6
27/05/2012     7

2012 年 5 月 20 日が 2012 年 5 月 17 日から 23 日までの日付範囲で経過するため、2012 年 5 月 20 日を渡すと、レート 5 が返されるはずです。

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 に答える