时间:2021-05-02
有在论坛上看到一帖,《请教查询出连续日期记录的方法》,截图如下:
复制代码 代码如下:
--创建一个临时表,将会存储连续日期的记录
CREATE TABLE #temp (IDD VARCHAR(10),SDATE DATETIME)
DECLARE @sD DATETIME --开始日期
DECLARE @eD DATETIME --结束日期
--在记录中,找出开始与结束日期
SELECT @sD = MIN([SDATE]), @eD = MAX([SDATE]) FROM [TT]
DECLARE @N INT = 0 --宣告一个变量,存储累记录数
--循环日期
WHILE (@sD <= @eD)
BEGIN
--如果存在
IF EXISTS (SELECT TOP 1 1 FROM [TT] WHERE [SDATE] = @sD)
BEGIN
SET @sD = DATEADD(day,1,@sD) --日期加1天
SET @N = @N + 1 --记录加1
END
ELSE --如果不存在
BEGIN
IF (@N >= 3) --判断是否大于或等于3
INSERT INTO #temp SELECT [IDD],[SDATE] FROM [TT] WHERE [SDATE] BETWEEN DATEADD(day,-@N,@sD) AND @sD
--日期加1天
SET @sD = DATEADD(day,1,@sD)
SET @N = 0 --初始化为0
END
END
--列出符合条件的记录
SELECT * FROM #temp
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
SQLServer数据库查询时,能否按百分比查询出记录的条数呢?答案是肯定的。本文我们就介绍这一实现方法。实现该功能的代码如下:createprocedurep
需求:按照起始日期查询出数据库里一段连续日期的住院信息。问题:数据库里的住院信息可能不是完整的,也就是在给出的日期区间里只有若干天的数据,缺少某些日期的数据。解
现在让我们来看在SQLSERVER2008中如何删除这些记录,首先,可以模拟造一些简单重复记录:复制代码代码如下:CreateTabledbo.Employee
网上搜索出来的结果多是下面答案:MySQL中,如何查询两个日期之间的记录,日期所在字段的类型为datetime(0000-00-0000:00:00)解决方案:
本文实例讲述了SQLServer查询前N条记录的常用方法。分享给大家供大家参考。具体如下:SQLServer查询前N条记录是我们经常要用到的操作,下面对SQLS