如何在checkin和checkout字段类型在varchar中的日期之间选择数据?

时间:2015-05-15 01:25:32

标签: php mysql

我想在表格的日期之间选择数据

例如:guestrocordtransac(tbl name)

id,roomno,roomtype, checkin,       checkout
 1  101      Baywatch  05/17/2015 05/24/2015
 2  102      BayWatch  05/10/2015 05/16/2015

当我尝试写这样的查询时,我只得到一个roomno为101

SELECT roomno FROM guestrocordtransac where checkin between "05/14/2015" and "05/29/2015"

1 个答案:

答案 0 :(得分:4)

正确答案是修复数据,以便将日期值存储为日期/时间。将本机数据库类型用于值几乎总是更好。

第二个最好的东西(它是非常遥远的第二好)是动态转换:

SELECT roomno
FROM guestrocordtransac
where str_to_date(checkin, '%m/%d/%Y') between '2015-05-14' and '2015-05-29';

使用日期常量时,请使用YYYY-MM-DD的ISO标准格式。