Возможно, на этот вопрос дан ответ, но у меня может быть другая проблема, которую нужно решить.
У меня есть следующая строка: '123456' и следующий диапазон: 05 - 10
Как я могу объединить строку с каждым числом в диапазоне, поэтому у меня есть: 12345605 12345606 12345607 12345608 12345609 12345610
У меня будет хранимая процедура, которая принимает 6-значный код, минимальное и максимальное числа в диапазоне.Тогда мне придется сделать какую-то обработку данных.Он может быть вставлен позже или удален, или что-то в этом роде.
Это то, что я буду иметь в своей хранимой процедуре:
declare
@firstSix varchar(6),
@min varchar(2),
@max varchar(2)
To do that I have started to write a loop:
WHILE(CAST(@min AS int) <= CAST(@max AS int)
BEGIN
--here I will need to write a logic that concatenates the string.
SET @min = @min + 1
SELECT @firstSix
END
Итак, используя следующий вход exec myProcedure '123456', '05', '10'
Iбудет иметь следующий вывод:
12345605
12345606
12345607
12345608
12345609
12345610
или с использованием следующего ввода exec myProcedure '123456', '15', '20'
У меня будет следующий вывод:
12345615
12345616
12345617
12345618
12345619
12345620
Мне, вероятно, потребуется логика дляопределить, имеет ли значение в диапазоне начальный ноль или что-то в этом роде
Какой здесь лучший подход?