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

Есть в столбец такая запись

XX01-А1привет_F1

Как мне отовать все кроме "А1привет"

:)
7 дек 12, 18:44    [13596640]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
а оторвать с каокой тосроны ? справа или слева ?
7 дек 12, 18:46    [13596650]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
хвостик1
Guest
Maxx,

с обоих )
7 дек 12, 18:47    [13596658]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
LEFT, SUBSTRING, RIGHT,REVERS
есть еще много ф-ций для работы со строками в mssql
7 дек 12, 18:49    [13596664]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
хвостик1
Guest
Maxx,

я думал что есть функция которая отрезает слева до символа "-" и с права до символа "_"
7 дек 12, 18:58    [13596719]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
хвостик1
Maxx,

я думал что есть функция которая отрезает слева до символа "-" и с права до символа "_"


есть еще встроеная ф-ция которая вырезает из фразы слово "А1привет"
REPLACE('XX01-А1привет_F1','А1привет','')
7 дек 12, 19:03    [13596741]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
хвостик1
Guest
Maxx,

у меня таких а приветов много и разных ))
7 дек 12, 19:04    [13596749]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
design21
Member

Откуда: Minsk
Сообщений: 59
можно вот так например:

SELECT SUBSTRING(@a, CHARINDEX('-',@a) + 1, CHARINDEX('_',@a) - CHARINDEX('-',@a) - 1)
7 дек 12, 19:13    [13596809]     Ответить | Цитировать Сообщить модератору
 Re: оторвать хвостик  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
хвостик1,

Maxx прав, читайте про функции, а то копипаста вам вот такое может сделать
declare @a varchar(100) = 'Hello all'
SELECT SUBSTRING(@a, CHARINDEX('-',@a) + 1, CHARINDEX('_',@a) - CHARINDEX('-',@a) - 1)

-- Msg 537, Level 16, State 2, Line 2
-- Invalid length parameter passed to the LEFT or SUBSTRING function.


design21б no offence is intended ;)
7 дек 12, 19:47    [13597030]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить