Ⅰ 求教sql語句兩個日期、時間欄位相減得到天數小時分秒的問題
selectrequestid,userid,workflowid,receivedate,receivetime,operatedate,operatetime,
cast(dayasvarchar)+'天'+cast((hour-day*24)asvarchar)+'小時'+
cast((minute-hour*60)asvarchar)+'分'+
cast((second-minute*60)asvarchar)+'秒'result
from(
selectrequestid,userid,workflowid,receivedate,receivetime,operatedate,operatetime,
datediff(d,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))day,
datediff(hh,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))hour,
datediff(n,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))minute,
datediff(s,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))second
fromworkflow_currentoperator
whereworkflowid=297andrequestid=110215
)t
orderbyreceivedate,receivetime
Ⅱ sql2005中兩個欄位相減取時間值問題
select DATEDIFF ( second , a , b ) 如果a和b是時間類型攜卜祥的話 可以直接這樣計算出來辯搏弊伏的
Ⅲ 請教oracle中用sql時間相減的問題
這個問題。。。。
給你個詳細的回答吧 以後就不再擔憂這方面的任何問題
Oracle計算時間差表達式
--獲取兩時間的相差豪秒數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒數 FROM DUAL;
/*
相差豪秒數
----------
86401000
1 row selected
*/
--獲取兩時間的相差秒數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒數 FROM DUAL;
/*
相差秒數
----------
86401
1 row selected
*/
--獲取兩時間的相差分鍾數
select ceil(((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60) 相差分鍾數 FROM DUAL;
/*
相差分鍾數
----------
1441
1 row selected
*/
--獲取兩時間的相差小時數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24) 相差小時數 FROM DUAL;
/*
相差小時數
----------
25
1 row selected
*/
--獲取兩時間的相差天數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) 相差天數 FROM DUAL;
/*
相差天數
----------
2
1 row selected
*/
----------------------------------------
註:天數可以2個日期直接減,這樣更加方便
----------------------------------------
--獲取兩時間月份差
select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 +
EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months
from al;
/*
MONTHS
----------
13
1 row selected
*/
--------------------------------------
註:可以使用months_between函數,更加方便
--------------------------------------
--獲取兩時間年份差
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from al;
/*
YEARS
----------
1
1 row selected
Ⅳ mysql:兩個時間相減,得出這種格式的時間 '2年240天17小時56分2秒'能用sql寫出來嗎
declare@strint
set@str=datediff(second,'2016-01-01','2017-08-0108:12:30')--日期時間差
selectcast(@str/(86400*365)aschar)+'年'
selectcast(@str/86400%365aschar)+'天'
selectcast(@str/3600%24aschar)+'時'
selectcast(@str/60%60aschar)+'分'
select亮碼則cast(@str%60aschar)+'秒'
你自己修改下 然後字模咐符串鏈接就能得敬棚出結果
Ⅳ postgresql裡面怎麼得到兩個日期相差多少秒,或者多少分鍾
PostgreSQL中直接用兩個date(或者timestamp)值相減,其返回的是一個interval值,再有該interval值取出天數轉換成分鍾或秒數,再加上interval中分鍾(和秒數)部分的值就可以了。
示例SQL:
selectinterval_value,date_part('day',interval_value)asday_value,date_part('day',interval_value)*24*60+date_part('minute',interval_value)asminutes
from(
select(current_timestamp-to_timestamp('2013-08-:23','yyyy-mm-ddhh24:mi'))asinterval_value
)s;
Ⅵ SQL求兩個時間點相減的函數,需求顯示,時、分、秒
兩個日期之間的差值
Oracle
兩日期相減,單位是「天」
SELECT
TO_DATE('2012-12-21'早哪,
'YYYY-MM-DD')
-
sysdate
AS
have_dates
FROM
al;
SQL
Server
DATEDIFF
函數高睜叢進行處理
MySQL
TIMEDIFF
函數進戚櫻行處理
Ⅶ sql~日期格式如何相減
1、簡單介紹一下datediff()函數。
DATEDIFF()函數返回兩個日期之間的天數。
語法:
DATEDIFF(datepart,startdate,enddate)
startdate和enddate參數是合法的日期表達式。
datepart參數可以是下列的值:
Ⅷ SQL 怎麼查兩個時間相減小於如'50秒''的
select *
from XXXX
where datediff(ss,StartTime,EndTime) < 50
裡面用了datediff()函數,可以計算兩個日期類型的差值,第一個參數指定計算日期中的哪一部分,這里的ss代表秒(同樣可以用yy代表年,mm代表月,dd代表天等……)。
測試過了,沒錯:P
Ⅸ SQL求兩個時間點相減的函數,需求顯示,時、分、秒
select datediff(s,'2012-12-11 8:00:00','2012-12-11 08:31:47')
結果是1907 (秒)
語法
DATEDIFF ( datepart , startdate , enddate )
datepart 縮寫
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns
Ⅹ sql 日期相減
select datediff(year, 開始日期,結束日期); --兩日期間隔年
select datediff(quarter, 開始日期,結束日期); --兩日期間隔季
select datediff(month, 開始日期,結束日期); --兩日期間隔月
select datediff(day, 開始日期,結束日期); --兩日期間隔天
select datediff(week, 開始日期,結束日期); --兩日期間隔周
select datediff(hour, 開始日期,結束日期); --兩日期間隔小時
select datediff(minute, 開始日期,結束日期); --兩日期間隔分
select datediff(second, 開始日期,結束日期); --兩日期間隔秒