---兩個時間之差的合計
declare @i int
set @i = datediff(ms,getdate()-rand()*24,getdate())
select
convert(varchar(10), @i/86400000) + ' days ' +
convert(varchar(10), (@i%86400000)/3600000) + ' hours '+
convert(varchar(10), (@i%3600000)/60000) + ' mins '+
convert(varchar(10), (@i%60000)/1000) + ' sec ' +
convert(varchar(10), @i%1000) + ' ms ' as [dd:hh:mm:ss:ms]
-- find hours, minutes and seconds in between two datetime
declare @first datetime
declare @second datetime
set @first = '04/02/2008 05:23:22'
set @second = getdate()
select datediff(day,@first,@second)*24 as totalhours,
datediff(day,@first,@second)*24*60 as totalminutes,
datediff(day,@first,@second)*24*60*60 as totalseconds
select datediff ('d','1999-05-01','1999-03-07')
/*--geovin du 塗聚文 締友計算機資訊技術****
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
*/---分鐘化小時
declare @strardate datetime,@enddate datetime,@hour int,@minute float
set @strardate='2011-08-15 18:00'
set @enddate='2011-08-15 22:45'
select @hour=datediff(hour,@strardate,@enddate)
select @minute=datediff(minute,@strardate,@enddate)%60
select @hour
select @hour+@minute/60
select @hour+round(@minute/60,1,1)---四捨五入
select round(150.75, 0);
goselect round(150.75, 0, 1);
goselect datediff(hh,@strardate,@enddate)
select datediff(mi,@strardate,@enddate)
declare @hms varchar(8)
set @hms = '10:30:00'
declare @hours int
declare @minutes decimal
set @hours = datepart(hour, @hms)
set @minutes = datepart(minute, @hms)
select @minutes/60+@hours
select round(@minutes/60,1)+@hours---四捨五入
---公司的加班計算,當大於半小時計加班半小時,不足半小時,不計加班
declare @strardate datetime,@enddate datetime,@hour int,@minute float,@minutes float
set @strardate='2011-08-15 18:00'
set @enddate='2011-08-15 22:45'
select @hour=datediff(hour,@strardate,@enddate)
select @minute=datediff(minute,@strardate,@enddate)%60
--select @hour+round(@minute/60,1,1)
set @minutes=@minute/60
if @minutes>0.5
set @minutes=0.5
if @minutes<0.5
set @minutes=0
select @minutes
select @hour
--select @minute
select @hour+@minutes
---select
sum(totalseconds) / 86400 as days,
(sum(totalseconds) % 86400) / 3600 as hours,
(sum(totalseconds) % 3600) / 60 as minutes,
sum(totalseconds) % 60 as seconds
from
( select eventid, datediff(second, startdate, enddate) as totalseconds
from events
) x
Oracle計算時間SQL
select extract day from to date 20130210000000 yyyymmddhh24miss sysdate day 9 to second 天,extract hour from to date 20130210000000 yyyymmddhh24miss sy...
SQL計算時間差
語法 datediff 開始時間,結束時間 釋義 datediff可以計算開始時間與結束時間的時間差,結果是天數 栗子 語法 timestampdiff 時間粒度,開始時間,結束時間 釋義 1 時間粒度引數 2 second 秒 計算開始時間與結束時間相差的秒數。4 minute 分 計算開始時間與...
建立SQL函式計算員工加班時間
你好,韓老師有個問題請教。我想通過秒計算加班時間。規則為 加班滿4小時才算加班,加班時間滿8小時為加班一天,加班時間不足4小時不算加班,加班時間大於4小時小於8小時為0.5個加班。我寫了乙個自定義函式計算但是計算出來的結果不對。麻煩韓老師指教 create function worktime sta...