Форматирование строк в T-SQL - PullRequest
2 голосов
/ 19 февраля 2010

Я добавил столбец в таблицу, в котором будет храниться отформатированная строка, основанная на объединении ряда других столбцов, чтобы мне было легче искать по ней.Чтобы сохранить загрузку всей таблицы в другое приложение и обновить сохраненный столбец, я хочу написать SQL-запрос UPDATE.Но я не могу понять, как взять целочисленный столбец и отформатировать его, как в этом примере

Значение исходного столбца = 1 Значение столбца назначения = 0001

Я хочу, чтобы 3 ведущих нуля былидобавлено в SQL.

Есть идеи?

Ответы [ 4 ]

5 голосов
/ 19 февраля 2010

Вот как можно добавить серы:

right('0000' + cast(MyColumn, nvarchar(4), 4)

Это объединит 0000 с любым значением в MyColumn и вернет четыре крайних справа символа.

3 голосов
/ 19 февраля 2010

Попробуйте это:

SELECT RIGHT('000'+ CONVERT(VARCHAR,Source),4) AS ColWithZeros
FROM Table
2 голосов
/ 19 февраля 2010
select Right( '0000' + cast( 1 as varchar),4)
0 голосов
/ 19 февраля 2010

Если он исходит из целочисленного столбца, я бы удалил зависимость от строки "0001".

Кроме того, в большинстве других ответов предполагается, что 1 - это единственные данные, я бы посоветовал вам найти количество цифр, а затем добавить соответствующее количество нулей. Поскольку это не удастся с любыми другими данными (10,20, 100 и т. Д.).

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