SQL - 选择在给定日期之前找到的第一条记录

use*_*195 2 sql

说我有一张桌子:

ID  DATE
1   2/1/12
2   3/1/12
3   1/1/12
4   4/1/12
Run Code Online (Sandbox Code Playgroud)

如何选择从给定日期开始递减时找到的第一个日期.

示例:按日期查找4/1/12之前的最后一个条目.返回SQL ID 2的条目.

如果添加了:

ID  DATE
5   3/2/12
Run Code Online (Sandbox Code Playgroud)

比上面的示例将返回SQL ID 5的条目.

我如何在SQL中表示我需要什么?

Gra*_*tzy 5

Select top 1 ID, DATE
from table
where DATE < '4/1/12'
order by DATE DESC
Run Code Online (Sandbox Code Playgroud)