Aks*_*hay 71 mysql sql timestamp
我的MySQL数据库中有一个时间字段Timestamp,它映射到DATE
我的bean中的数据类型.现在我想要一个查询,我可以通过该查询获取数据库中的所有记录,当前时间戳与数据库中存储的时间差大于20分钟.
我该怎么做?
我想要的是:
SELECT * FROM MyTab T WHERE T.runTime - now > 20 minutes
Run Code Online (Sandbox Code Playgroud)
是否有任何MySQL函数,或者在SQL中以任何方式执行此操作?
Nic*_*tti 115
我想你可以使用TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)之类的东西
select * from MyTab T where
TIMESTAMPDIFF(MINUTE,T.runTime,NOW()) > 20
Run Code Online (Sandbox Code Playgroud)
Mou*_*oud 23
ROUND(time_to_sec((TIMEDIFF(NOW(), "2015-06-10 20:15:00"))) / 60);
Run Code Online (Sandbox Code Playgroud)
Dee*_*yan 21
我在今天和数据库日期使用下面的代码。
TIMESTAMPDIFF(MINUTE,T.runTime,NOW()) > 20
根据文档,第一个参数可以是以下任何一个:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
Run Code Online (Sandbox Code Playgroud)
试试这个:
select * from MyTab T where date_add(T.runTime, INTERVAL 20 MINUTE) < NOW()
Run Code Online (Sandbox Code Playgroud)
注意:如果您使用MySQL DateTime格式,这应该有效.如果您使用的是Unix时间戳(整数),那么它会更容易:
select * from MyTab T where UNIX_TIMESTAMP() - T.runTime > 20*60
Run Code Online (Sandbox Code Playgroud)
UNIX_TIMESTAMP()函数返回当前的unix时间戳.
归档时间: |
|
查看次数: |
113825 次 |
最近记录: |