SQL Server 两个时间段的差and时间截取到时分

/*--------------------------时间截取到时分-----------------------------------*/

select Left(CONVERT(varchar(100), ‘2017-11-24 19:25:30.740‘, 20),16)--返回2017-11-24 19:25

--单独截取
select datepart(hour,‘2017-11-24 19:25:30.740‘)--返回小时19

/*-----------------两个时间段的差,精确到秒(可用于倒计时)----------------------*/

SELECT DATEDIFF( Second, ‘2009-8-25 12:15:12‘, ‘2009-9-1 7:18:20‘) --返回相差秒数

SELECT DATEDIFF( Minute, ‘2009-9-1 6:15:12‘, ‘2009-9-1 7:18:20‘) --返回相差分钟数

SELECT DATEDIFF( Day, ‘2009-8-25 12:15:12‘,‘2009-9-1 7:18:20‘)--返回相差的天数

SELECT DATEDIFF( Hour, ‘2009-8-25 12:15:12‘, ‘2009-9-1 7:18:20‘)--返回相差的小时

--求两个时间的相差的分钟数
--方法一
SELECT CONVERT(INT,DATEDIFF(Day, ‘2017-11-24 19:00:00‘, ‘2017-11-24 19:01:00‘)*24*60)
+CONVERT(INT,DATEDIFF(Hour,‘2017-11-24 19:00:00‘, ‘2017-11-24 19:01:00‘)*60)
+CONVERT(INT,DATEDIFF(Minute, ‘2017-11-24 19:00:00‘, ‘2017-11-24 19:01:00‘))

--方法二
declare @day int --天
declare @hour int  --小时
declare @min int  --分
declare @sec int  --秒
declare @alls int
select GETDATE()
set @alls=datediff(s,‘2017-11-24 19:00:00‘,GETDATE())   --时间1与时间2之间的差(秒)
set @day=@alls/86400 --天
set @hour=(@alls-@day*86400)/3600  --小时
set @min=(@alls-@day*86400-@hour*3600)/60  --分
set @sec=@alls-@day*86400-@hour*3600-@min*60  --秒
select CAST(@day as varchar(5))+‘天‘
+CAST(@hour as varchar(2))+‘小时‘
+CAST(@min as varchar(2))+‘分‘
+CAST(@sec as varchar(2))+‘秒‘ cha  
时间: 2024-10-05 02:09:21

SQL Server 两个时间段的差and时间截取到时分的相关文章

Sql Server函数全解<四>日期和时间函数

原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同的,以time类型值为参数的函数,可以接受datetime类型的参数,但会忽略日期部分. 1.获取系统当前日期的函数getDate();  getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.[例]sel

sql 判断两个时间段是否有交集

本文转自CSDN 链接地址:http://blog.csdn.net/dasihg/article/details/8450195 时间段:starttime_1到endtime_1,starttime_2到endtime_2 SQL语句:where least(endtime_1, endtime_2) > greatest(starttime_1, starttime_2) 解释:least取最小值,greatest取最大值. 创建函数least.greatest CREATE FUNCTI

比较sql server两个数据库

http://opendbdiff.codeplex.com/ http://www.red-gate.com/ 有SQL Compare和SQL Prompt 开源的? http://www.codeproject.com/Articles/205011/SQL-Server-Database-Comparison-Tool

Sql查询两个时间段有重叠的记录

这个问题看上去简单,但是想了很久,最后发现,自己的思路有点乱. 下面四条时间段都和最上面那个有重叠的关系,就是这么个意思. 这里是问题的答案: 2个时间: a_start, a_end b_start, b_end 公式: a_start <= b_end and a_end >= b_start

sql server 查询某个时间段共有多少周及每周的日期段

sql 语句 select number+1 as wknum,dateadd(wk,number,'2017-01-01') as firstday, (case when year(dateadd(d,-1,dateadd(wk,number+1,'2017-01-01')))>2017 then '2017-12-31' else dateadd(d,-1,dateadd(wk,number+1,'2017-01-01')) end) as sevenday from master..sp

mysql 两个时间段的差,可以是秒,天,星期,月份,年...

SELECT TIMESTAMPDIFF(SECOND, now(), "2012-11-11 00:00:00") 语法为:TIMESTAMPDIFF(unit,datetime1,datetime2), 其中unit单位有如下几种,分别是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR.

sql server取某个时间段内所有日期或者所有月份

取所有月份: declare @begin datetime,@end datetime set @begin='2015-2-6' set @end='2015-12-2' declare @months int set @months=DATEDIFF(month,@begin,@end) select convert(varchar(7),DATEADD(month,number,@begin) ,120) AS 月份 from master.dbo.spt_values where ty

SQL Server 扩展一个支持类似。net 时间格式化的标量函数~

IF EXISTS(SELECT TOP 1 * FROM sys.objects WHERE name=N'uF_DateFormat' AND [type]='FN') DROP FUNCTION uF_DateFormat GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: hehai -- Create date: 2

一名小小的SQL Server DBA想谈一下SQL Server的能力

一名小小的SQL Server DBA想谈一下SQL Server的能力 百度上暂时还没有搜索到相关的个人写的比较有价值的文章,至少在中文网络的世界里面没有 但是在微软的网站有这样一篇文章:<比较 SQL Server 与 IBM DB2> 文章从下面几个方面进行了对比 1.TCO和ROI2.性能和可扩展性3.高可用性4.安全5.管理6.开发效率7.商业智能和数据仓库8.OLTP9.SAP集成 文章介绍得比较牛逼 性能与可扩展性 SQL Server 的性能和可扩展性优于IBM DB2. 基准