SQL: 查找今天预订的酒店

SQL: Find the Hotels which are booked today

我有一个数据库,其中包含以下表格

HOTEL2(hno, hname, city, phone, room_type, price) 
GUEST2(gno, gname, address, phone) 
BOOKING2(Hno, gno, date_from, date_to) 

我想获取今天预订的所有信息。 我已经编写了以下查询,但它无法正常工作。

SQL> SELECT *
  2  FROM BOOKING
  3  WHERE DATE_FROM=(SELECT SYSDATE FROM DUAL);

no rows selected

我正在使用 Oracle 10g。

没有。逻辑更像这样:

select b.*
from booking
where date_from <= trunc(sysdate) and
      date_to >= trunc(sysdate);

尝试使用 trunc

    SELECT b.*
    FROM BOOKING b
    WHERE DATE_FROM=trunc(sysdate)
  1. 如果"date_from""date_to"的数据类型是date 然后使下面的示例 sql fiddle 有效 http://sqlfiddle.com/#!4/2df0d/5

  2. 如果数据类型是 varchar 那么确保将 sysdate 转换为已存储在 table 中的精确字符串格式。以下示例

    select TO_CHAR(系统日期,'YYYY-MM-DD') ,TO_CHAR(系统日期,'MM-DD-YYYY') 来自双