• sql遍历



    DECLARE @BTime DATETIME,@ETime DATETIME;
    DECLARE @Temp TABLE (
    ID BIGINT IDENTITY(1,1),
    aid BIGINT,
    newcode BIGINT,
    btime DATETIME,
    etime DATETIME
    );
    DECLARE @Temp2 TABLE (
    aid BIGINT,
    newcode BIGINT,
    dayTime VARCHAR(100)
    );
    INSERT INTO @Temp SELECT [id]
    ,[newCode]
    ,[checkTime]
    ,[auctionEndTime]
    FROM [houseLibary]
    --SELECT * FROM @Temp
    DECLARE @Cnt BIGINT = (SELECT COUNT(aid) FROM @Temp);
    DECLARE @I BIGINT = 1;
    WHILE @I <= @Cnt
    BEGIN
    DECLARE @DayBetween BIGINT = (SELECT DATEDIFF(DAY,btime,etime) FROM @Temp WHERE id = @I)
    DECLARE @BTimeTemp DATETIME = (SELECT btime FROM @Temp WHERE id = @I)
    DECLARE @ETimeTemp DATETIME = (SELECT etime FROM @Temp WHERE id = @I)
    DECLARE @tempNewcode BIGINT = (SELECT newcode FROM @Temp WHERE id = @I)
    DECLARE @AID BIGINT = (SELECT aid FROM @Temp WHERE id = @I)   

        DECLARE @J BIGINT = 0;

        --遍历开始
        WHILE @J <= @DayBetween
        BEGIN
        INSERT INTO @Temp2
        ( aid, newcode, dayTime )
        VALUES ( @AID, -- aid - bigint
        @tempNewcode, -- newcode - bigint
          SUBSTRING(CONVERT(VARCHAR(100),DATEADD(DAY,@J,@BTimeTemp),120),0,12) -- dayTime - varchar(100)
        )
        SET @J = @J + 1;
        END

      --遍历结束
    SET @I = @I + 1;
    END
    SELECT * FROM @Temp2

  • 相关阅读:
    14-快速排序
    linux上挂在windows的共享文件系统,大小写不敏感
    【mount】linux挂共享盘
    监控windows服务或者进程
    自定义时间间隔
    示例
    filebeat
    kafka
    文档碎片
    简单DOM操作
  • 原文地址:https://www.cnblogs.com/beagreatman/p/5714539.html
Copyright © 2020-2023  润新知