Вывод в цикле 3 через 3
Помогите вывести строки 3 через 3. Здесь получается 3 через 1. Что делаю не так:
DECLARE @number INT
,@name1 VARCHAR(10) = 'Employee'
,@name2 VARCHAR(10) = 'Employee_2'
SET @number = 1
WHILE @number <= 50
BEGIN
Print CONVERT(NVARCHAR, @name1)
SET @number = @number + 1
IF @number % 3 = 0
SET @number = @number + 1
ELSE
Print CONVERT(NVARCHAR, @name2)
CONTINUE
END;
Ответы (2 шт):
Автор решения: Виктор Карев
→ Ссылка
Не уверен в синтаксисе, но алгоритм - такой:
WHILE @number <= 50
BEGIN
SET @number = @number + 1
IF @number % 6 < 3
Print CONVERT(NVARCHAR, @name1)
ELSE
Print CONVERT(NVARCHAR, @name2)
ENDIF
END;
Автор решения: Vitaliy Zlobin
→ Ссылка
DECLARE @i INT = 0
DECLARE @repeat INT = 3 --кол-во повторений
DECLARE @name1 VARCHAR(10) = 'Employee_1'
DECLARE @name2 VARCHAR(10) = 'Employee_2'
WHILE @i <= 50
BEGIN
IF @i % (@repeat * 2) < @repeat
PRINT @name1
ELSE
PRINT @name2
SET @i += 1
END