SQL:查找今天预订的酒店

问题描述 投票:0回答:3

我有一个数据库,包括下表

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。

sql oracle10g
3个回答
0
投票

通过使用trunc尝试如下

    SELECT b.*
    FROM BOOKING b
    WHERE DATE_FROM=trunc(sysdate)

0
投票

不。逻辑更像是这样的:

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

0
投票
  1. 如果“date_from”和“date_to”的数据类型是date,那么请生成以下示例sql fiddle works http://sqlfiddle.com/#!4/2df0d/5
  2. 如果数据类型是varchar,那么请确保将sysdate转换为存储在表中的精确字符串格式。以下是一个样本 从双重选择TO_CHAR(sysdate,'YYYY-MM-DD'),TO_CHAR(sysdate,'MM-DD-YYYY')
© www.soinside.com 2019 - 2024. All rights reserved.