Как объединить две строки в sql и дополнить одну строку нулями? - PullRequest
5 голосов
/ 17 декабря 2008

У меня есть два поля в таблице. Один содержит такие значения, как BTA, BEA, REA. Другой содержит значения, такие как 1,2,63,103.

Я хочу объединить 2 поля, чтобы они выглядели так: БТА001, БТА002, БТА063, БТА103.

Обратите внимание, что если числа не имеют длину 3 символа, я хочу добавить несколько нулей слева от числа, чтобы оно равнялось 3.

Как бы я поступил так? Поля в таблице называются Type, которые соответствуют BTA, BEA и REA, а Id - это поле, которое соответствует 1, 2, 63 и 103.

Ответы [ 3 ]

9 голосов
/ 17 декабря 2008
select Type + right('00' + cast(id as varchar(10)), 3)
from ...

Редактировать: если id может быть нулевым, и вы хотите, чтобы ноль отображался, вы можете сделать:

select Type + right('00' + cast(isnull(id, 0) as varchar(10)), 3) 
from ...
1 голос
/ 17 декабря 2008

выберите FIELD1 + RIGHT ('000' + конвертер (VARCHAR, FIELD2), 3)

1 голос
/ 17 декабря 2008

выберите C1 + справа (('000' + приведение (C2 как nvarchar (10)), 3) как

от t1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...