MySQL中的过滤表,两个时间戳列之间存在差异

时间:2016-08-31 12:42:49

标签: php mysql

我在MySQL中有一个表,其中包含日期时间列open_timeclose_time

如何仅选择close_time至少比open_time大一分钟的行?

2 个答案:

答案 0 :(得分:0)

from impala.util import as_pandas
df = as_pandas(cur)
# carry df through scikit-learn, for example

更多信息: http://www.w3resource.com/mysql/date-and-time-functions/mysql-timestampdiff-function.php

答案 1 :(得分:0)

你可以使用TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)之类的东西,比如

select * from MyTab T where TIMESTAMPDIFF(MINUTE,open_date,close_date) > 1

来自docs

  

TIMESTAMPDIFF(单元,datetime_expr1,datetime_expr2)

     

返回datetime_expr2 - datetime_expr1,其中datetime_expr1和   datetime_expr2是日期或日期时间表达式。一个表达可能是   日期和另一个日期时间;日期值被视为日期时间   有时间的部分&00; 00:00:00'在必要时。单位为   result(整数)由unit参数给出。法律价值观   对于单位与在说明中列出的单位相同   TIMESTAMPADD()函数。

     

的MySQL> SELECT TIMESTAMPDIFF(MONTH,' 2003-02-01',' 2003-05-01'); - > 3
  MySQL的> SELECT TIMESTAMPDIFF(年份,' 2002-05-01',' 2001-01-01'); - > -1
  MySQL的> SELECT TIMESTAMPDIFF(MINUTE,' 2003-02-01',' 2003-05-01 12:05:55'); - > 128885

     

注意此函数的日期或日期时间参数的顺序是   与使用2个参数调用时TIMESTAMP()函数使用的相反。