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時以此類推。