我有一个数据库,其中包含以下表格
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。
答案 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)
如果“ date_from” 和“ date_to” 的数据类型为 date ,则使以下示例sql小提琴正常工作 http://sqlfiddle.com/#!4/2df0d/5
如果数据类型为 varchar ,请确保将sysdate转换为表中存储的确切字符串格式。以下示例
选择TO_CHAR(sysdate,'YYYY-MM-DD') ,TO_CHAR(sysdate,'MM-DD-YYYY') 来自双重