mysql使用时间戳选择日期

时间:2014-09-09 07:42:02

标签: php mysql date timestamp

在我的数据库中,我使用名为startdate的列,并在列中有时间戳的行,如下所示:1410178260

通常情况下,当我使用datetime字段并且我想选择今天日期的所有项目时,我运行此查询:

$sql = "SELECT id FROM agenda2 WHERE DATE(startdate) >= CURRENT_DATE()";

但现在,使用时间戳,我不知道如何进行选择今天插入的所有项目的查询。 有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您需要使用from_unixtime()

函数转换为日期
mysql> select FROM_UNIXTIME('1410178260');
+-----------------------------+
| FROM_UNIXTIME('1410178260') |
+-----------------------------+
| 2014-09-08 17:41:00         |
+-----------------------------+

所以你可以这样做

SELECT id FROM agenda2 WHERE DATE(FROM_UNIXTIME(startdate)) >= CURRENT_DATE()

答案 1 :(得分:0)

如果您使用的是unix时间戳,那么您必须使用

$sql = "SELECT id FROM agenda2 WHERE DATE(FROM_UNIXTIME(startdate)) >= CURRENT_DATE()";

考虑两个版本都不能使用索引。

请参阅FROM_UNIXTIME