1. 用sql求2个状态的时间差
select temp.*
,DATEDIFF(MI,temp.statusDATa+cast(TEMP.statustime as datetime),A.statusDATa+cast(A.statustime as datetime)) '时间差(分钟)'
from temp,(select * from temp) a
where temp.sectionno=a.sectionno
and temp.positionno=a.positionno
and temp.stastustype='B'
and a.stastustype='R'
以下是截图
2. sql怎么计算时间差
DATEDIFF(mi,开始时间,结束时间)
这个函数可以算出会话时间,mi代表分钟,
1。两张表匹配下,sum(算出的会话时间)即可
2.select
访问客户,sum(算出的会话时间)
from
...
group
by
访问客户
3.用agv(算出的会话时间)
即可
4.select
访问客户,agv(算出的会话时间)
from
...
group
by
访问客户
3. 如何使用mysql计算两个日期之间的时间差
MySql计算两个日期时间的差函数:
第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:
[sql] view plain
SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13');
返回结果是104,这里比较的是两个时间的天数差;
[sql] view plain
SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13');
这里比较的是两个时间的月份,返回的结果是3;
第二种方法: DATEDIFF函数,就传入两个日期函数,比较的DAY天数,第一个参数减去第二个参数的天数值,具体用法如下:
[sql] view plain
SELECT DATEDIFF('2013-01-13','2012-10-01');
返回的结果也是104。
另外其它的日期函数,
now()函数返回的是当前时间的年月日时分秒,如:2008-12-29 16:25:46
CURDATE()函数返回的是年月日信息: 如:2008-12-29
CURTIME()函数返回的是当前时间的时分秒信息,如:16:25:46
另外,如果我们想对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数,如
DATE(now()) 返回的是 2008-12-29
4. SQL 计算两个日期相差多少天数的函数
SQL是高级的非过程化编程语言,一般针对数据库进行操作。
定义:datediff(day/month/year,startdate,enddate)
日期函数:(要返回的天数/月数/年数,开始日期,结束日期)
具体形式:
select 1,2,datediff(day,1,2) 天数 from aa
还有一些方法:
使用DATEDIFF函数可以求两个日期之间相差的天数。
MySQL中的DATEDIFF函数仅需要两个参数 (即要计算相差天数的两个日期),第一个参数应是两个日期中较小的值,以避免出现负值(SQL Server中正好相反)。
在SQL Server中,可以指定该函数返回值所表示的类型(在这个例子中,返回以“日”为单位的差)。下面的解决方案采用了SQL Server的版本:
1 select datediff(day,allen_hd,ward_hd)
2 from (
3 select hiredate as ward_hd
4 from emp
5 where ename = 'WARD'
6 ) x,
7 (
8 select hiredate as allen_hd
9 from emp
10 where ename = 'ALLEN'
11 ) y
MySQL用户只需去掉该函数的第一个参数,交换一下传递ALLEN_HD和WARD_HD的顺序即可。
5. sql计算时间差的datediff函数怎么用
简单介绍一下datediff()函数。
定义和用法
DATEDIFF() 函数返回两个日期之间的天数。
语法
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:
计算相差的天数:
select DATEDIFF(DAY,'2013-10-12 10:25:52.400','2013-10-19 00:25:52.400') as '时间差'
备注:更改日期后面的时间不影响相差天数的输出结果
计算相差的小时数:
select DATEDIFF(HOUR,'2013-10-12 10:25:52.400','2013-10-12 23:25:53.400') as '时间差'
备注:分钟的改变不能影响计算结果
6. ORACEL的sql语句两时间字段求差怎么操作
直接计算两个字段时间的相差即可;代码(select * from XX where DATEDIFF(d,'2009-1-1','2009-1-2')>60);
7. SQL计算时间差
语法:DATEDIFF(开始时间,结束时间)
释义:DATEDIFF可以计算开始时间与结束时间的时间差,结果是天数
栗子:
语法:TIMESTAMPDIFF(时间粒度,开始时间,结束时间)
释义:(1)时间粒度参数:
2/SECOND--秒:计算开始时间与结束时间相差的秒数。
4/MINUTE--分:计算开始时间与结束时间相差多少分钟。
8/HOUR--小时:计算开始时间与结束时间相差多少小时。
16/DAY--天:计算开始时间与结束时间相差的天数。
32/WEEK--周:计算开始时间与结束时间相差的周数。
64/MONTH--月:计算开始时间与结束时间相差多少月。
128/QUARTER--季:计算开始时间与结束时间相差的季度数。
256/YEAR--年:计算开始时间与结束时间相差的年数。
(2)开始时间:需要计算时间差的开始时间,参数格式需要为时间格式。
(3)结束时间:需要计算时间差的结束时间,参数格式需要为时间格式。
栗子:
8. 利用SQL语句如何获得两个日期之间相差的天数
用sysdate假设结束日期字段是end_date
添加这个判断条件:
where to_char("end_date",'YYYY') = to_char(sysdate,'YYYY') 判断年相同
and to_char("end_date",'MM') = to_char(sysdate,'MM') 判断月相同
and to_char("end_date",'dd') - to_char(sysdate,'dd') = 15 判断日相同
或者:
where to_char("end_date",'YYYY-MM-DD') - to_char(sysdate,'YYYY-MM-DD')=15
(8)sql计算两个时间差扩展阅读:
注意事项
DATEDIFF返回跨两个指定日期的日期和时间边界数。
语法:DATEDIFF ( datepart , startdate , enddate )
参数:datepart
是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
startdate是返回datetime或smalldatetime值或日期格式字符串的表达式。 因为smalldatetime只精确到分钟,所以当用smalldatetime值时,秒和毫秒总是 0。
如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。
enddate是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
返回类型:integer
注释:startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
9. sql怎么计算时间差
返回跨两个指定日期的日期和时间边界数。
语法
DATEDIFF(datepart,startdate,enddate)
参数
datepart
10. SQL数据库时间差
先给此表增加一个数字类型的列“Diff”,然执行如下sql语句:
update
[表名]
set
[diff]=datediff(day,[A日期列],[B日期列])
datediff函数的第一个参数设置为day时,计算的是两个日期以天为单位的差数,设置为month、year时以此类推。