SQL Server循环不连续的日期时

尽管并未想到可怜理想之措施,下面的艺术也许能少帮得上您的忙碌。

君得先创造一个临时表或表变量来囤这些不连续的日期,为了给您更新清晰思路,得需要引用一些事例和一部分代码,就因http://www.cnblogs.com/insus/articles/1775510.html夫表,需要取出用户最近10赖登录系统的岁月。用户登录体系的岁月势必不是连连的。

下面步骤就是是促成者效果,定义一个表变量(一定要是定义一个字段ID,这个字段数据类型为INT,是IDENTITY):

DECLARE @VariableTable AS TABLE (ID INT IDENTITY,LoginTime DATETIME)

 

取出用户最近10报到体系的工夫插入这个表变量中。

INSERT INTO @VariableTable SELECT TOP 10 [LoginTime] FROM [dbo].[LoginLog] WHERE [UsersId] = 2 ORDER BY [LoginTime] DESC 

 

最后,我们尽管足以针对这些不连续的日子进行巡回了:

DECLARE @i INT = 1, @t DATETIME
WHILE @i <= 10
BEGIN
    SELECT @t = [LoginTime] FROM @VariableTable WHERE [ID] = @i 
    
    –这里虽好展开日期循环作相应的操作
        
    SET @i = @i + 1
END

相关文章