从数据库中提取日期,仅选择今天的记录

时间:2013-03-19 21:03:58

标签: php mysql sql date

我创建了一个处理约会的webapp。然后,它将存储在mysql数据库中的约会放在谷歌地图上。

我想只显示'今天'的约会。要在我的SQL查询中执行此操作,我需要执行select * from appointments where $date = today行。它只是读取select * from appointments。我遇到的问题是日期以下列格式Fri Mar 08 2013 09:00:00 GMT 0000 (GMT)存储在一列中。在地图上绘图时,时间方面无关紧要,我只需要提取日期并显示与“今天”日期相关的记录。

如果格式化的话,我如何从一列中取出日期?如何以相同的格式设置今天的日期?

2 个答案:

答案 0 :(得分:1)

亲爱的,亲爱的。您应该将日期存储为DATE数据类型。它有自己的内部格式。查询表时,您可以使用MySQL DATE_FORMAT()函数以您需要的任何格式显示它。

更改列后(并将所有现有数据转换为正确的格式,执行基于日期的查询没有问题。

答案 1 :(得分:1)

可能很麻烦...但我会这样解决(纯SQL):

select *
from appointments
where `date` >= curdate() and `date` < date_add(curdate(), interval +1 day);

我假设您的'date'字段存储为datedatetime,而不是字符串。如果您将日期存储为字符串,那么您有一些大问题,因为您需要以某种方式将字符串“强制转换”为有效日期。

希望这有助于你