Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
Charles Weyland
Member

Откуда: Feorina "Fury" 161
Сообщений: 4374
Convert(nvarchar(9), @val) не даст нужного результата
25 мар 14, 17:47    [15785275]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
o-o
Guest
Charles Weyland,
declare @val int = 17
select right ('000000000' + cast(@val as varchar(9)), 9)
25 мар 14, 17:50    [15785308]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
Charles Weyland
Member

Откуда: Feorina "Fury" 161
Сообщений: 4374
...действительно...
25 мар 14, 18:09    [15785414]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
Exproment
Member

Откуда:
Сообщений: 416
Charles Weyland, визуализировать данные - задача клиента, а не базы
25 мар 14, 18:18    [15785494]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
Charles Weyland
Member

Откуда: Feorina "Fury" 161
Сообщений: 4374
Exproment
Charles Weyland, визуализировать данные - задача клиента, а не базы

нужно, чтобы в столбце id-шники были в 9-значом формате, как и во внешней связываемой таблице, импортируемой из другой системы..
а так - согласен, конечно)
26 мар 14, 00:54    [15786977]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
Crimzic
Member

Откуда: Sydney
Сообщений: 59
Hi Charles,
declare @val INT = 17

PRINT REPLICATE('0', 9-LEN(CAST(@val AS nvarchar(9)))) + CAST(@val AS nvarchar(9))
26 мар 14, 06:21    [15787075]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
west74
Member

Откуда: Челябинск
Сообщений: 76
declare @num int=17;
declare @str varchar(20) ='00000000000'

select STUFF (
@str,
LEN(@str)-LEN(cast(@num as varchar(10)))+1
,LEN(cast(@num as varchar(10)))
,cast(@num as varchar(10))
) ddd
26 мар 14, 08:13    [15787154]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
SELECT REPLACE(STR(17,9),' ','0');
26 мар 14, 09:00    [15787221]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
qwrqwr
Member

Откуда: Msk
Сообщений: 1684
select right(17+1000000000,9)
26 мар 14, 09:31    [15787290]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
Charles Weyland
Member

Откуда: Feorina "Fury" 161
Сообщений: 4374
Остался вариант с применением цикла)))))))))
26 мар 14, 09:36    [15787307]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
2Charles Weyland
Guest
Можно строки с айдишниками из внешней базы кастануть в INT :-)
select case when cast('001' as int) = 1 then 1 else 0 end
27 мар 14, 02:39    [15792532]     Ответить | Цитировать Сообщить модератору
 Re: как сформатировать число в строку так, чтобы это выглядило так: 17 -> 000000017  [new]
Exproment
Member

Откуда:
Сообщений: 416
Charles Weyland, еще CLR никто не написал))
27 мар 14, 10:59    [15793313]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить