sql 时间计算
2011-08-20 18:07
218 查看
---兩個時間之差的合計 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); GO SELECT ROUND(150.75, 0, 1); GO select 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
相关文章推荐
- SQL计算时间差,要精确到小时分钟秒
- 第97课: 使用Spark Streaming+Spark SQL实现在线动态计算出特定时间窗口下的不同种类商品中的热门商品排名
- Sybase中计算SQL语句的执行时间
- SQL延伸1--计算时间重叠
- 计算sql语句的执行时间
- sql中时间日期操作(时间日期函数,时间日期格式,时间日期转换参数,时间日期比较,时间日期计算)
- 计算SQL语句执行时间的方法
- Sql中时间计算
- SQL语句执行时间的计算
- ORACLE与MSSQL计算时间差的SQL操作
- 常用sql 时间计算
- 查询分组计算[按时间分组计算][SQL]
- SQL时间计算
- sql datediff 计算时间差
- sql计算时间的相关操作
- SQL中的时间计算语句
- mysql的sql语句中直接计算时间 查询昨天 一周前 一月前 一年前的数据的方法
- SQL计算实际工作日(天)及两个时间(工作日)间隔(小时)!
- C# 和SQL 计算时间:周一,周日,月初,月末,季初,季末...
- sql datediff 计算时间差