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

Откуда: Монреаль, Канада
Сообщений: 111
Есть строка с пробелами, надо их удалить.
Частичное решение:
ltrim(rtrim([строка]))
Это удалит только внешние пробелы. Как удалить внутренние?
14 мар 03, 17:40    [148084]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
Crip
Member

Откуда:
Сообщений: 2490
replace(@string,' ','')
14 мар 03, 17:43    [148087]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
SELECT REPLACE(' aaa s ', CHAR(32), '')
14 мар 03, 17:43    [148089]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
Ingvarwolf
Member

Откуда: Монреаль, Канада
Сообщений: 111
Спасибо!!! Картинка с другого сайта.
14 мар 03, 17:59    [148103]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
Call
Member

Откуда: SFBA
Сообщений: 481
WHILE @w like '%  %'

SET @w = REPLACE(@w,' ',' ')
14 мар 03, 18:40    [148140]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
2Call

А в чем тут соль?
14 мар 03, 18:56    [148158]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
Call
Member

Откуда: SFBA
Сообщений: 481
To jimmers

Если в переменной @w есть два пробела в любом месте, то происходит выполнение

SET @w =  REPLACE(@w, '  ', ' ')


Т. Е. два пробела заменяются на один, до тех пор, пока они не исчезнут.
14 мар 03, 19:43    [148231]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Так вроде ж просили другое - вообще пробелы убрать
14 мар 03, 19:48    [148234]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
Call
Member

Откуда: SFBA
Сообщений: 481
Извиняюсь, пробелы удаляются, пока не исчезнут.

WHILE @w like '% %'


SET @w = REPLACE(@w,' ','')
14 мар 03, 19:59    [148241]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
2 Call
скорее всего пятница, усталость.
но действительно, цикл не нужен replace заменяет все вхождения строки. в данном случае это пробел. предложенные вариант правильны.
15 мар 03, 00:45    [148347]     Ответить | Цитировать Сообщить модератору
 Re: Аналог функции Trim  [new]
MiCe
Member

Откуда: RUSSIA STAVROPOL Pyatigorsk
Сообщений: 1996
2 All
ltrim(rtrim([строка])) и SELECT REPLACE(' aaa s ', CHAR(32), '') это не одно и тоже..... первый вариант удаляет только концевые и начальные пробелы,
а второй все......
15 мар 03, 13:26    [148405]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить