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

Откуда:
Сообщений: 369
MSSQL
помогите нужно обрезать строку к примеру
11Вася11
нужно получить только Вася
написал SUBSTRING(syscolumns.name, 5,LEN(syscolumns.name))
получаю обрезку первых символов, а вот как еще обрезать с конца
п.с. записи в поле могут быть разной длинны
но нужно обрезать первый 4 символа и последние 2
23 окт 09, 12:40    [7829032]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
devious
MSSQL
помогите нужно обрезать строку к примеру
11Вася11
нужно получить только Вася
написал SUBSTRING(syscolumns.name, 5,LEN(syscolumns.name))
получаю обрезку первых символов, а вот как еще обрезать с конца
п.с. записи в поле могут быть разной длинны
но нужно обрезать первый 4 символа и последние 2
Почему 4, если Вася начинается с 3-го?
23 окт 09, 12:42    [7829052]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
SELECT SUBSTRING(syscolumns.name,3, LEN(syscolumns.name)-4);
???
23 окт 09, 12:44    [7829075]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
declare @s varchar(10)
select @s='1234Вася12'
select substring(@s,5,len(@s)-6)
--------------------------------------------------------------
Дьявол кроется в деталях.
23 окт 09, 12:45    [7829084]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
Saller
Member

Откуда: exUSSR
Сообщений: 1141
Можно также воспользоваться функцией REPLACE если известно что надо обрезать в строке.
23 окт 09, 12:51    [7829132]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
devious
Member

Откуда:
Сообщений: 369
опечатался
начало строки всегда Tmp_
конец строки всегда _1
строка может быть разной длинны, но начало и конец всегда одинаково
так вот мне надо вытянуть именно между этих символов
23 окт 09, 12:52    [7829148]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
devious
Member

Откуда:
Сообщений: 369
спасибо
Replace помог :)
23 окт 09, 13:00    [7829256]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
devious
спасибо
Replace помог :)
Какой REPLACE!
А если имя внутри содержит 'Tmp_' или '_1'?

Дедушка дал уже правильный ответ.
23 окт 09, 13:03    [7829284]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
Saller
Member

Откуда: exUSSR
Сообщений: 1141
iap
devious
спасибо
Replace помог :)
Какой REPLACE!
А если имя внутри содержит 'Tmp_' или '_1'?

Дедушка дал уже правильный ответ.

Ну в этой ситуации нужно ТСу проанализировать данные и выбрать что ему подходит больше, у дедушки конечно безопасный вариант который исключает возможность получения неправильных данных.
23 окт 09, 14:18    [7829864]     Ответить | Цитировать Сообщить модератору
 Re: обрезать строку  [new]
iljy
Member

Откуда:
Сообщений: 8711
Saller
iap
devious
спасибо
Replace помог :)
Какой REPLACE!
А если имя внутри содержит 'Tmp_' или '_1'?

Дедушка дал уже правильный ответ.

Ну в этой ситуации нужно ТСу проанализировать данные и выбрать что ему подходит больше, у дедушки конечно безопасный вариант который исключает возможность получения неправильных данных.


я думаю он еще и в плане быстродействия лучше, так что есть смысл его использовать и не заниматься фигней.
23 окт 09, 14:40    [7830068]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить