0

オラクルに次のテーブルがあると仮定します。

id|orderdatetime (date type)|foodtype (string type)
1|2013-12-02T00:26:00 | burger
2|2013-12-02T00:20:00 | fries

... (多くの日時があると仮定します)

誰かがたまたま日付を考えていたとします (つまり、「2010-12-02T00:25:00」)。その特定の時刻を含むデータベースエントリはありませんが...データベースにクエリを実行して、日付を気にせずに最も近い日付時刻を持つ行を取得できる方法はありますか(理想的には、それ以下)?

(つまり、この場合、SQL クエリは「ハンバーガー」ではなく「フライドポテト」の行を返します。これは、「ハンバーガー」の時間が近づいているにもかかわらず、ユーザーが考えていた時間よりもハンバーガーの時間が過ぎているためです。)

4

1 に答える 1

2
select x.* from (select id,orderdatetime,foods from orders
where orderdatetime <= YOURTIME order by orderdatetime desc)x
where rownum =1

もう1つは次のとおりです。

select * from orders where orderdatetime = (select max(orderdatetime) from orders
where orderdatetime <= YOURTIME)
于 2013-03-29T04:54:57.860 に答える