我有下表,其中有一行。当我使用以下查询时:
SELECT FROM ROOM WHERE chk_in = '7-APR-14';
它没有显示数据。知道我哪里错了吗?
CREATE TABLE room (
r_id number(5),
book_date date,
chk_in date,
chk_out date,
r_ct_id number(6),
booking_id number(5),
c_id number(9),
primary key (r_id),
foreign key (booking_id) references booking_info(booking_id),
foreign key (c_id) references customer(c_id)
);
INSERT INTO room VALUES (61276,'4-FEB-14','7-APR-14','4-APR-14',87689,19857,987987987);
答案 0 :(得分:2)
如果您的chk_in
列类型为date
,请使用 -
SELECT FROM ROOM WHERE chk_in = STR_TO_DATE('7-APR-14', '%d/%l/%Y');
答案 1 :(得分:1)
使用适当的日期格式。假设chk_in
是date
,没有时间成分:
WHERE chk_in = '2014-04-07'
如果有时间组件,请使用不等式:
WHERE chk_in >= '2014-04-07' and
chk_in < date_add('2014-04-07', interval 1 day)
不等式使MySQL可以在chk_in
上使用索引进行查询。