结论:一个标准的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得到分种。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)