sql怎么计算时间差

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql怎么计算时间差相关的知识,希望对你有一定的参考价值。

DATEDIFF(mi,开始时间,结束时间)
这个函数可以算出会话时间,mi代表分钟,
1。两张表匹配下,sum(算出的会话时间)即可
2.select
访问客户,sum(算出的会话时间)
from
...
group
by
访问客户
3.用agv(算出的会话时间)
即可
4.select
访问客户,agv(算出的会话时间)
from
...
group
by
访问客户
参考技术A sql中一般用datediff函数来表示时间差。
基本语法:
DATEDIFF(datepart,startdate,enddate)
说明:
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:
例子:
例子
1
使用如下
SELECT
语句:
SELECT
DATEDIFF(day,'2008-12-29','2008-12-30')
AS
DiffDate
结果:
DiffDate
1

例子2
使用如下
SELECT
语句:
SELECT
DATEDIFF(day,'2008-12-30','2008-12-29')
AS
DiffDate
结果:
DiffDate
-1

SQL 计算时间差问题,要精确到天小时分钟.

select
datediff(day,GETDATE(),getdate())--天数差
select
DATEDIFF
(HOUR,GETDATE()-2,getdate())
--小时差
值/24,就是天
select
DATEDIFF
(MINUTE,GETDATE()-2,getdate())
--俩个日期的分钟差,值/24,天数差,余值/60,小时差,余数为分钟。
参考技术A 什么数据库啊?
sqlserver

select cast(floor(datediff(minute,时间1,时间2) / 1440) as varchar)+'天'+

cast(floor((datediff(minute,时间1,时间2) % 1440)/60) as varchar)+'小时'+

cast(((datediff(minute,时间1,时间2))-

(floor(datediff(minute,时间1,时间2) / 1440) *1440)-

(floor((datediff(minute,时间1,时间2) % 1440)/60)*60)) as varchar)+'分'
from 表名

刚才测试了一下:结果如下
有问题欢迎追问
参考技术B 意思是求每个人一个月里请假的总时间数?

以上是关于sql怎么计算时间差的主要内容,如果未能解决你的问题,请参考以下文章

Hive SQL计算5天前的时间戳

SQL计算年龄

SQL 计算时间差问题,要精确到天小时分钟.

Oracle SQL 求算时间加减问题

SQL 计算时间差问题,要精确到天小时分钟.

sql 计算在线时间总长