ssid datetime
1 2006-07-20 13:28:02.000
1 2006-07-20 13:29:03.000
1 2006-07-20 13:31:00.000本来应该每1分钟有1条记录,怎样查出哪个时间段的数据丢失了?
2006-07-20 13:30:00.000
1 2006-07-20 13:28:02.000
1 2006-07-20 13:29:03.000
1 2006-07-20 13:31:00.000本来应该每1分钟有1条记录,怎样查出哪个时间段的数据丢失了?
2006-07-20 13:30:00.000
解决方案 »
- 浏览主页的时候老出现这种问题
- 在企业管理器中以表格形式改表数据,不能随意排序,有什么解决方案?
- SQL查询语句
- 关于SQL热备问题
- 求助,很急的问题
- 求 行数据中 为空字段数 函数
- 在线求 sql server 2005从sp3升级到sp4 出错。。。
- sql server 2000,我突然发现数据库的内容被人清空了!现在想:1、找出当天每个用户对数据库操作的记录 2、恢复数据库内容。能不能实现。谢谢
- 请问:数据库创建好之后,我想创建与上一年一样结构的数据库,就要把上年的数据库的表,存储过程,触发器等全部导入新数据库,详细请进...
- sql server 2012数据误删恢复
- 关于 nvarchar(n)的 说明 ?
- 列类型 选择 varchar 还是nvarchar ?
insert T select 1, '2006-07-20 13:28:02.000'
union all select 1, '2006-07-20 13:29:03.000'
union all select 1, '2006-07-20 13:31:00.000'declare @tb table([date] datetime)
declare @maxDT datetime, @minDT datetime
select @maxDT=max([date]), @minDT=min([date])
from T
while @minDT<=@maxDT
begin
insert @tb values(@minDT)
set @minDT=dateadd(minute, 1, @minDT)
end
insert @tb values(@minDT)select tmp.* from @tb as tmp
left join T on convert(char(16), T.[date], 120)=convert(char(16), tmp.[date], 120)
where T.[date] is null--result
date
------------------------------------------------------
2006-07-20 13:30:02.000(1 row(s) affected)
select datediff(mm,-1,[datetime]) from table
where
not exists(select * from table where [datetime]= datediff(mm,-1,[datetime])
select datediff(mm,1,[datetime]) from table
where
not exists(select * from table where [datetime]= datediff(mm,1,[datetime])
设置最小时间为(@minDT)
select @maxDT=max([date]), @minDT=min([date])
from T
while @minDT<=@maxDT
begin
insert @tb values(@minDT)
然后从最小时间开始+1分钟set @minDT=dateadd(minute, 1, @minDT) 条件是while @minDT<=@maxDT
这样相当于从最小时间开始--最大时间,记录每一分钟的一个表
查询在临时表中有但在你原表中没有的记录就是你想要的记录.呵呵,说的有点罗嗦,:)