判断一段时间内连续工作超过7天的纪录

博客展示了SQL相关操作,包括判断表是否存在并删除,创建新表,以及进行数据查询。代码中先判断 [dbo].[CheckTime] 表是否存在,存在则删除,接着创建该表,最后进行了特定条件的数据查询。

if EXISTS (
  select * from dbo.sysobjects
  where id = object_id(N'[dbo].[CheckTime]')
  and OBJECTPROPERTY(id, N'IsUserTable') = 1
   )
drop table [dbo].[CheckTime]
GO

CREATE TABLE [dbo].[CheckTime] (
 [ID] [int] IDENTITY (1, 1) NOT NULL ,
 [Name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Dates] [datetime] NULL
) ON [PRIMARY]
GO

SELECT DISTINCT Name
FROM CheckTime as x
WHERE
DATEDIFF(DAY,'2001-1-1',Dates) >= 0 and DATEDIFF(DAY,'2004-1-31',Dates) <= 0
AND
(SELECT COUNT(DISTINCT Dates) FROM CheckTime
 WHERE dates BETWEEN x.dates AND DATEADD(DAY, 6, x.dates)
and Name=x.Name)>=7


(本文章从CSDN上摘录)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值