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

Откуда:
Сообщений: 131
помогите получить кусок текста.
пример нужен

сам кусок: Участок проведения работ, 10.141.241.16) 86-NGHVART-ACC7110-DSL-1.2 (ip DSLAM-а: 10.141.241.34)

--текст--

Плановые работы
Планируемые дата и время начало работ (мск): 18.03.2013 06:00
Планируемые дата и время окончания работ (мск): 17.05.2013 16:00
Планируемая продолжительность работ: 60 дней
ИТ-Услуга: Прочие документы
КЕ:
Участок проведения работ, 10.141.241.16) 86-NGHVART-ACC7110-DSL-1.2 (ip DSLAM-а: 10.141.241.34)
ИТ-Услуга: Прочие документы
Цель и содержание работ:
30 апр 13, 09:10    [14247428]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://msdn.microsoft.com/en-us/library/ms181984.aspx
30 апр 13, 09:13    [14247439]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
D_r_a_g_o_n
Member

Откуда:
Сообщений: 131
CHARINDEX('ИТ-Услуга', name) результат 0, что не так?
30 апр 13, 09:27    [14247505]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
Glory
Member

Откуда:
Сообщений: 104751
select charindex(N'ИТ-Услуга', N'Плановые работы
Планируемые дата и время начало работ (мск): 18.03.2013 06:00
Планируемые дата и время окончания работ (мск): 17.05.2013 16:00
Планируемая продолжительность работ: 60 дней
ИТ-Услуга: Прочие документы
КЕ:
Участок проведения работ, 10.141.241.16) 86-NGHVART-ACC7110-DSL-1.2 (ip DSLAM-а: 10.141.241.34)
ИТ-Услуга: Прочие документы
Цель и содержание работ: ')
----------- 
193

(1 row(s) affected)
30 апр 13, 09:30    [14247516]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
D_r_a_g_o_n
Member

Откуда:
Сообщений: 131
расскажи как сделать?
30 апр 13, 09:39    [14247553]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
Glory
Member

Откуда:
Сообщений: 104751
D_r_a_g_o_n
расскажи как сделать?

Использовать charindex
30 апр 13, 09:40    [14247561]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
D_r_a_g_o_n
Member

Откуда:
Сообщений: 131
допустим я нашел точку вхождения, а дальше?
когда подставляю поле результат ноль, тип поля NVARCHAR(4000)
CHARINDEX('ИТ-Услуга',поле)
30 апр 13, 09:45    [14247584]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
Glory
Member

Откуда:
Сообщений: 104751
D_r_a_g_o_n
допустим я нашел точку вхождения, а дальше?

Продолжить читать список функций по ссылке

D_r_a_g_o_n
когда подставляю поле результат ноль, тип поля NVARCHAR(4000)
CHARINDEX('ИТ-Услуга',поле)

Значит в [поле] нет подстроки 'ИТ-Услуга'
Когда она есть, вы можете видеть результат на моем примере
30 апр 13, 09:47    [14247603]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
Гость333
Member

Откуда:
Сообщений: 3683
D_r_a_g_o_n
допустим я нашел точку вхождения, а дальше?
когда подставляю поле результат ноль, тип поля NVARCHAR(4000)
CHARINDEX('ИТ-Услуга',поле)

А теперь так попробуйте:
CHARINDEX(N'ИТ-Услуга',поле)
30 апр 13, 10:48    [14247994]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
Гость333
Member

Откуда:
Сообщений: 3683
D_r_a_g_o_n,

Также проверьте, что там у вас за чёрточка между "ИТ" и "услуга". Это может быть как обычный минус, так и тире (alt+0150), длинное тире (alt+0151), мягкий дефис (alt+0173) и другие виды "чёрточек".
30 апр 13, 10:57    [14248065]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
D_r_a_g_o_n,

и посмотрите документацию: у функции CHARINDEX есть третий параметр.
Как я понял, надо SUBSTRING()ом выбрать подстроку между ('КЕ:'+перевод строки) и следующим переводом строки?
30 апр 13, 11:24    [14248249]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
D_r_a_g_o_n
Member

Откуда:
Сообщений: 131
написал вот так
SUBSTRING(SEI_INFORMATION,CHARINDEX(N'ИТ-Услуга',SEI_INFORMATION),len(CHARINDEX(N'КЕ:',SEI_INFORMATION)))

текст:
ИТ-Услуга: Прочие документы
КЕ:
хотел получить фразу: Прочие документы, а получилось ИТ-
30 апр 13, 19:40    [14251044]     Ответить | Цитировать Сообщить модератору
 Re: выбрать часть текста  [new]
Glory
Member

Откуда:
Сообщений: 104751
select SEI_INFORMATION as [отсюда я буду выбирать], CHARINDEX(N'ИТ-Услуга',SEI_INFORMATION) as [вот с таокй позиции], len(CHARINDEX(N'КЕ:',SEI_INFORMATION)) as [вот столько символов]
from mytable
30 апр 13, 23:17    [14251685]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить