SQL:查找今天预订的酒店

时间:2019-03-09 18:24:21

标签: sql oracle10g

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

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。

3 个答案:

答案 0 :(得分:0)

不。逻辑更像这样:

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

答案 1 :(得分:0)

使用trunc

尝试以下操作
    SELECT b.*
    FROM BOOKING b
    WHERE DATE_FROM=trunc(sysdate)

答案 2 :(得分:0)

  1. 如果“ date_from” “ date_to” 的数据类型为 date ,则使以下示例sql小提琴正常工作 http://sqlfiddle.com/#!4/2df0d/5

  2. 如果数据类型为 varchar ,请确保将sysdate转换为表中存储的确切字符串格式。以下示例

    选择TO_CHAR(sysdate,'YYYY-MM-DD')        ,TO_CHAR(sysdate,'MM-DD-YYYY') 来自双重