返回两个时间的时间差 我的数据库A,想返回两个时间的时间差,两个时间的格式如下:a b11:00:00 12:20:11然后我想返回的格式是c1:20:11我用datediff,但出不了我的结果,格式都不是那样的,请问该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declare @date1 datetime,@date2 datetimeset @date1='2008-04-06 16:27:25'set @date2='2008-04-08 18:27:24'select 时间差 = cast(datediff(second , @date1, @date2) / (24*60*60) as varchar) + '天' + cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar) + '时' + cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar) + '分' +cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar) + '秒'/*时间差 -----------------------2天1时59分59秒(所影响的行数为 1 行)*/ declare @date1 datetime,@date2 datetimeset @date1='2008-04-06 16:27:25'set @date2='2008-04-08 18:27:24'select 时间差 = cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar) + ':' + cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar) + ':' +cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar) declare @date1 datetime,@date2 datetimeset @date1= convert(varchar(10),getdate(),120) + ' 11:00:00'set @date2= convert(varchar(10),getdate(),120) + ' 12:20:11'select 时间差 = cast(datediff(second , @date1, @date2) / (60*60) as varchar) + ':' + right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar),2) + ':' +right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar),2) /*时间差 ---------------------------------------- 1:20:11(所影响的行数为 1 行)*/ declare @date1 datetime,@date2 datetimeset @date1='11:00:00'set @date2='12:20:11'select 时间差 = right('00'+cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar),2) + ':' + right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar),2) + ':' +right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar),2) declare @table table (a datetime,b datetime)insert into @tableselect '11:00:00','12:20:11'select convert(varchar(10),b-a,8) from @table/*01:20:11*/ 求一个多条update语句 求一个SQL语句 交易表的存储问题 SQL2000/2005数据库里面的数据的语言支持 很急,真的。关于入门的问题??? 如何在一个数据库中将每一个小包内的图像按照图像名升序排列。 为什么必须作了日志备份才能还原时点,sql2000不是对任何事务都自动会用记录么 难题,SQL 高手请进。 请教关于MS SQL SERVER7.0的问题 谁能帮我解释一下什么叫查询语句和非查询语句 sql查询 SQL2000下备份的数据库还原到SQL2005下,非常的慢。
set @date1='2008-04-06 16:27:25'
set @date2='2008-04-08 18:27:24'select 时间差 =
cast(datediff(second , @date1, @date2) / (24*60*60) as varchar) + '天' +
cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar) + '时' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar) + '分' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar) + '秒'/*
时间差
-----------------------
2天1时59分59秒(所影响的行数为 1 行)
*/
set @date1='2008-04-06 16:27:25'
set @date2='2008-04-08 18:27:24'select 时间差 =
cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar) + ':' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar) + ':' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar)
set @date1= convert(varchar(10),getdate(),120) + ' 11:00:00'
set @date2= convert(varchar(10),getdate(),120) + ' 12:20:11'select 时间差 =
cast(datediff(second , @date1, @date2) / (60*60) as varchar) + ':' +
right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar),2) + ':' +
right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar),2) /*
时间差
----------------------------------------
1:20:11(所影响的行数为 1 行)
*/
set @date1='11:00:00'
set @date2='12:20:11'select 时间差 =
right('00'+cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar),2) + ':' +
right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar),2) + ':' +
right('00'+cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar),2)
declare @table table (a datetime,b datetime)
insert into @table
select '11:00:00','12:20:11'select convert(varchar(10),b-a,8) from @table
/*
01:20:11
*/