34,873
社区成员
发帖
与我相关
我的任务
分享
ID CreateTime
1 2009-01-08 12:00:00
2 2009-01-01 12:00:00
3 2009-01-07 12:00:00
4 2009-01-06 12:00:00
5 2009-01-03 12:00:00
6 2009-01-09 12:00:00
7 2009-01-15 12:00:00
declare @tb table([ID] int,[CreateTime] datetime)
insert @tb
select 1,'2009-01-08 12:00:00' union all
select 2,'2009-01-01 12:00:00' union all
select 3,'2009-01-07 12:00:00' union all
select 4,'2009-01-06 12:00:00' union all
select 5,'2009-01-03 12:00:00' union all
select 6,'2009-01-09 12:00:00' union all
select 7,'2009-01-15 12:00:00'
select *,
datediff(d, [CreateTime], (select max([CreateTime]) from @tb)) [时间差(天)]
from @tb
--测试结果:
/*
ID CreateTime 时间差(天)
1 2009-01-08 12:00:00.000 7
2 2009-01-01 12:00:00.000 14
3 2009-01-07 12:00:00.000 8
4 2009-01-06 12:00:00.000 9
5 2009-01-03 12:00:00.000 12
6 2009-01-09 12:00:00.000 6
7 2009-01-15 12:00:00.000 0
*/
if object_id('tb','U')is not null drop table tb
go
create table tb(ID int,CreateTime datetime)
insert tb select 1 ,'2009-01-08 12:00:00'
insert tb select 2 , '2009-01-01 12:00:00'
insert tb select 3 , '2009-01-07 12:00:00'
insert tb select 4 , '2009-01-06 12:00:00'
insert tb select 5 , '2009-01-03 12:00:00'
insert tb select 6 , '2009-01-09 12:00:00'
insert tb select 7 , '2009-01-15 12:00:00'
select t.*,(select count(*)-1 from tb where CreateTime>=t.CreateTime)DayCount from tb t
/*ID CreateTime DayCount
----------- ----------------------- -----------
1 2009-01-08 12:00:00.000 2
2 2009-01-01 12:00:00.000 6
3 2009-01-07 12:00:00.000 3
4 2009-01-06 12:00:00.000 4
5 2009-01-03 12:00:00.000 5
6 2009-01-09 12:00:00.000 1
7 2009-01-15 12:00:00.000 0*/
ID CreateTime DayCount
1 2009-01-08 12:00:00 2
2 2009-01-01 12:00:00 7
3 2009-01-07 12:00:00 3
4 2009-01-06 12:00:00 4
5 2009-01-03 12:00:00 5
6 2009-01-09 12:00:00 1
7 2009-01-15 12:00:00 0
if object_id('tb','U')is not null drop table tb
go
create table tb(ID int,CreateTime datetime)
insert tb select 1 ,'2009-01-08 12:00:00'
insert tb select 2 , '2009-01-01 12:00:00'
insert tb select 3 , '2009-01-07 12:00:00'
insert tb select 4 , '2009-01-06 12:00:00'
insert tb select 5 , '2009-01-03 12:00:00'
insert tb select 6 , '2009-01-09 12:00:00'
insert tb select 7 , '2009-01-15 12:00:00'
select count(*)-1 时间间隔 from tb where CreateTime
between (select min(CreateTime)CreateTime from tb where id=3) and
(select max(CreateTime)CreateTime from tb)
/*时间间隔
-----------
3*/