在我的数据库中,我使用名为startdate
的列,并在列中有时间戳的行,如下所示:1410178260
通常情况下,当我使用datetime字段并且我想选择今天日期的所有项目时,我运行此查询:
$sql = "SELECT id FROM agenda2 WHERE DATE(startdate) >= CURRENT_DATE()";
但现在,使用时间戳,我不知道如何进行选择今天插入的所有项目的查询。 有人可以帮我吗?
答案 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()";
考虑两个版本都不能使用索引。