SQL Server While迴圈用法

SQL Server While迴圈用法

虽然SQL Server的while迴圈在一般的情况下,并不常被运用,但是身为资料分析师,免不了会有大规模的资料需要重新批次读取和运算,因此这时候的while迴圈就相当的好用,下面就来分享在SQL Server下使用while迴圈的方法

-- 定义要使用的参数

DECLARE @startTime datetime

DECLARE @endTime datetime

DECLARE @i INT

-- 设定参数初始值

SET @startTime = '2019-01-01 00:00:00'

SET @endTime = '2020-01-01 00:00:00'

SET @i = 1

-- 开始执行WHILE迴圈,这里使用的条件是开始时间小于结束时间,则继续执行

WHILE @startTime < @endTime 

-- BEGIN和END 是一对的固定用法,记得要加

BEGIN

     -- 正常情况下,这边就可以放入自己想执行的SQL语法

  -- 因为这边想用SQL Server将每一分钟记录下来,所以把时间存下来,同时也记录i,用来计算做了几次迴圈

     INSERT INTO YourDatabase.dbo.YourTable(insertTime, countI)

     SELECT @startTime, @i

    -- 执行过的就将@i加1(这个範例是每次加1分钟,但不是只有加,也可以减,只不过while的条件就要检查一下,是否迴圈会正常执行完毕)

    SET @i = @i + 1

    SET @startTime = DATEADD(MINUTE, +1, @startTime)

END

以上就是SQL Server使用While 迴圈的方法,同时也是使用SQL语法纪录每分钟的方法

如果觉得对你有帮助的话. 请帮小弟按个讚吧~

SQL Server相关文章:

SQL Server 修改资料库名称

SQL Server 时间转换常用方法

SQL Server 每隔10分钟统计(含每30分钟统计)

sqlserver迴圈whilestarttime执行declareendtime用法