sql >> Database >  >> RDS >> Sqlserver

SQL Server VOOR ELKE lus

Hier is een optie met een tabelvariabele:

DECLARE @MyVar TABLE(Val DATETIME)
DECLARE @I INT, @StartDate DATETIME
SET @I = 1
SET @StartDate = '20100101'

WHILE @I <= 5
BEGIN
    INSERT INTO @MyVar(Val)
    VALUES(@StartDate)

    SET @StartDate = DATEADD(DAY,1,@StartDate)
    SET @I = @I + 1
END
SELECT *
FROM @MyVar

U kunt hetzelfde doen met een tijdelijke tabel:

CREATE TABLE #MyVar(Val DATETIME)
DECLARE @I INT, @StartDate DATETIME
SET @I = 1
SET @StartDate = '20100101'

WHILE @I <= 5
BEGIN
    INSERT INTO #MyVar(Val)
    VALUES(@StartDate)

    SET @StartDate = DATEADD(DAY,1,@StartDate)
    SET @I = @I + 1
END
SELECT *
FROM #MyVar

Je moet ons vertellen wat je belangrijkste doel is, zoals werd gezegd door @JohnFx, dit kan waarschijnlijk op een andere (efficiëntere) manier worden gedaan.



  1. Kan json niet uit mysql varchar halen, maar int

  2. Positie van de kolom in de index

  3. Hoe tabellen met ontbrekende waarden te importeren?

  4. PostgreSQL-aggregatiefunctie over bereik