我正在将我的PHP / mySQL代码转换为PDO,但我遇到了一些困难。下面我添加了我正在使用的确切代码,以便更好地理解。我的目标是向数据库显示name
,他们的时间与输入的时间相差2小时。
这是代码
SELECT * FROM events WHERE TIMESTAMPDIFF(HOUR,TIME,:input)< 2
这是我的数据库
name date
3D Brave 2012-07-21 17:00:00
Bol Bachchan 2012-07-21 18:00:00
A Royal Affair 2012-07-21 19:00:00
Not Suitable For Children 2012-07-21 23:00:00
如果$input
是2012-07-20 18:00
或2012-07-20 20:00
,那么我会得到如下所有结果,但它应该只显示那些有差异2小时的结果
3D Brave
Bol Bachchan
A Royal Affair
Not Suitable For Children
答案 0 :(得分:0)
嗯,您正在查询与列TIME
的区别,但在表架构中,它被称为date
。
更正了查询:
SELECT *
FROM events
WHERE ABS(TIMESTAMPDIFF( HOUR , `date`, "2012-07-21 18:00:00")) < 2;
date
ABS()
功能(因此现在可以向前和向后查看)。<强> The result of that query. 强>