Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 дополнить строку слева  [new]
mr.vetal
Member

Откуда:
Сообщений: 373
вроде как и просто, блин

есть строки разной длины
нужно дополнить строку до длины X, добавив слева от нее определенное количество нулей


С ув. Виталий
6 окт 09, 00:09    [7745643]     Ответить | Цитировать Сообщить модератору
 Re: дополнить строку слева  [new]
mr.vetal
Member

Откуда:
Сообщений: 373
sql server 2000


С ув. Виталий
6 окт 09, 00:12    [7745645]     Ответить | Цитировать Сообщить модератору
 Re: дополнить строку слева  [new]
Ozzy-Osbourne
Member

Откуда: Balashikha
Сообщений: 139
Оно ?
declare @s varchar(100)
declare @n int
set @s=N'Ёжик      '
set @n=15
select padLeft='>'+replicate('0',@n-datalength(@s))+@s+'<'
>00000Ёжик      <
6 окт 09, 00:18    [7745653]     Ответить | Цитировать Сообщить модератору
 Re: дополнить строку слева  [new]
san_d
Member

Откуда: Киев
Сообщений: 60
mr.vetal,
ну вариант в лоб:)
select
 right('0000000000'+MyField,X) --колво нулей в '0000000000' должно быть не меньше X
from
 MyTable
6 окт 09, 00:20    [7745656]     Ответить | Цитировать Сообщить модератору
 Re: дополнить строку слева  [new]
mr.vetal
Member

Откуда:
Сообщений: 373
благодарю
REPLICATE ( string_expression ,integer_expression ) в документации в упор не видел

С ув. Виталий
6 окт 09, 00:20    [7745658]     Ответить | Цитировать Сообщить модератору
 Re: дополнить строку слева  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
mr.vetal,

Ну что-то типа

declare @str1 varchar (10)
declare @str_len int
declare @max_len int

set @str1 = 'abcdef'
set @str_len = len(@str1)
set @max_str = 20

while @str_len <= @max_str
begin
   set @str1 = '0'+str1
   set @str_len = len(@str1)
end
6 окт 09, 00:27    [7745669]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить