Я пытаюсь получить даты (например, 000,001 ... 999..n), когда я использую функцию right()
из цикла while с select, он работает нормально. Если я назначу переменную, результат будет другим.
DECLARE @cnt_chr INT = 1;
DECLARE @cnt_num INT = 1;
DECLARE @num varchar;
DECLARE @chr varchar;
DECLARE @full varchar;
WHILE @cnt_num <= 999
BEGIN
select RIGHT(CONCAT('000', CONVERT(varchar, @cnt_num)), 3);
SET @cnt_num = @cnt_num + 1;
END;
Если я напишу после начала, как это:
@num = RIGHT(CONCAT('000', CONVERT(varchar, @cnt_num)), 3);
SET @cnt_num = @cnt_num + 1;
print @num;
результаты разные. В чем может быть причина?