Вам нужно, чтобы code
было строкой. В простейшем методе используется concat()
:
code as (case when len(Id) = 1 then concat('00', Id)
when len(Id) = 2 then concat('0', Id)
else convert(varchar(255), Id)
end)
Или проще:
code as (right(concat('000', id), 3))
Конечно, эта версия не обрабатывает id
значения, превышающие 999.