在MySQL中如何提取起始时间和终止时间差值大于一小时的内容?

在MySQL中如何提取起始时间和终止时间差值大于一小时的内容?,第1张

结论:一个标准的SQL查询语句

前提:假设起始时间start_at,结束时间:end_at

现在根据不同的字段类型说明如何写。

1 - INT类型,存储时间戳

SELECT * FROM table_name WHERE ( end_at - start_at ) >3600

2 - DATETIME类型

假如 start_at 格式类似于 “2020-10-01 12:13:14”。那么使用函数进行求差值

SELECT * FROM table_name WHERE TIMESTAMPDIFF(SECOND, start_at, end_at) >3600

以上。

mySQL:

time_to_sec(timediff('2010-08-20

12:01:00',

'2010-08-20

12:00:00'))返回相差秒数

SQLServer:

一:SELECT

DATEDIFF(

Day,

'2008.08.25',

'2008.09.01'

)

二:SELECT

DATEDIFF(

Second,

2009-8-25

12:15:12',

2009-9-1

7:18:20')

--返回相差秒数

或者

SELECT

DATEDIFF(

Minute,

2009-8-25

12:15:12',

2009-9-1

7:18:20')

--返回相差分钟数

或者

SELECT

DATEDIFF(

Hour,

2009-8-25

12:15:12',

2009-9-1

7:18:20')

--返回相差小时数

三:SELECT

DATEDIFF(

Day,

2009-8-25

12:15:12',

2009-9-1

7:18:20')

用时间戳来计算

SELECT (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP('2015-04-20 15:12:12'))/60

也就是得到两个时间相差的秒数,然后除60得到分种。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7609834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存