Одним из возможных подходов является следующий оператор, использующий REPLICATE()
для повторения символа 0
:
Таблица:
CREATE TABLE Data (id int)
INSERT INTO Data (id) VALUES (1), (2), (3), (4), (5)
Оператор
SELECT CONCAT('1', REPLICATE('0', id)) AS id
FROM Data
Результат :
id
10
100
1000
10000
100000
Примечания:
Использование CONCAT()
, чтобы избежать null
, приводит к выводу, если в столбце ìd
есть значения null
. Если это не важно, '1' + REPLICATE('0', id)
также является опцией.
Если вы хотите, чтобы результаты имели вид цифра c тип данных (int, bigint, smallint, tinyint, цифра c), вам нужно преобразовать результаты, но учтите диапазон для каждого типа данных, чтобы избежать ошибки arithmetic overflow
.
SELECT CONVERT(int, CONCAT('1', REPLICATE('0', id))) AS id
FROM Data