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)
如果"date_from"和"date_to"的数据类型是date 然后使下面的示例 sql fiddle 有效
http://sqlfiddle.com/#!4/2df0d/5
如果数据类型是 varchar 那么确保将 sysdate 转换为已存储在 table 中的精确字符串格式。以下示例
select TO_CHAR(系统日期,'YYYY-MM-DD')
,TO_CHAR(系统日期,'MM-DD-YYYY')
来自双
我有一个数据库,其中包含以下表格
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)
如果"date_from"和"date_to"的数据类型是date 然后使下面的示例 sql fiddle 有效 http://sqlfiddle.com/#!4/2df0d/5
如果数据类型是 varchar 那么确保将 sysdate 转换为已存储在 table 中的精确字符串格式。以下示例
select TO_CHAR(系统日期,'YYYY-MM-DD') ,TO_CHAR(系统日期,'MM-DD-YYYY') 来自双