MySQL选择时间戳是否过去

时间:2013-02-23 21:33:52

标签: php mysql datetime

我有一个这样的数据库:

TABLE
Name               |            timestamp
------------------------------------------
Hello              |            2013-02-23 14:26:18
Yo                 |            2013-03-22 14:26:18

我想做一个SQL选择,只选择过去的事情(例如,未设置的时间戳)。

最好的方法是什么?

感谢您的帮助。

修改

我尝试了这些建议,但它们似乎都没有用,这是查询:

SELECT * FROM TABLE WHERE timestamp<NOW()

它仍然选择了所有内容,我也尝试过:

SELECT * FROM TABLE WHERE timestamp<CURRENT_TIMESTAMP

它仍然选择了一切。

这真的很奇怪,当我使用“timestamp&gt; CURRENT_TIMESTAMP”它似乎工作(它隐藏所有项目不是来自未来)但不是当我尝试另一个没有意义的方向时。可能是时区问题还是类似问题?

5 个答案:

答案 0 :(得分:2)

SELECT `Name` FROM `TABLE` WHERE `timestamp` < NOW();

应该得到你想要的东西。

答案 1 :(得分:0)

SELECT * FROM TABLE WHERE timestamp<now();

答案 2 :(得分:0)

尝试以下查询:

SELECT * FROM YourTable WHERE 'timestamp' < CURRENT_TIMESTAMP

答案 3 :(得分:0)

你试过吗

SELECT * 
FROM yourtable T
WHERE T.timestamp < NOW();

...

NOW() ...

  

以“YYYY-MM-DD HH:MM:SS”中的值返回当前日期和时间   或YYYYMMDDHHMMSS.uuuuuu格式,具体取决于函数是否为   用于字符串或数字上下文中。该值以。表示   当前时区。

答案 4 :(得分:0)

select * from table where `timestamp` < now()