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

Откуда:
Сообщений: 187
Подскажите функцию, котрая может вытянуть первое слово из строки?
31 май 07, 14:39    [4212033]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Если первое слово характеризуется тем, что заканчивается пробелом, то элементарно с пом. INSTR + SUBSTR
31 май 07, 14:43    [4212066]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
версию сервера и определение слова (или разделителя)..
31 май 07, 14:45    [4212086]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
yeaster
Member

Откуда:
Сообщений: 187
INSTR указывает первый символ вхождения одной строки в другую, но мне не известно какое это слово, известно, что оно первоет т.е. надо отсечь от строки все после первого пробела...
31 май 07, 14:46    [4212097]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116199
yeaster
INSTR указывает первый символ вхождения одной строки в другую, но мне не известно какое это слово, известно, что оно первоет т.е. надо отсечь от строки все после первого пробела...


SELECT substr('Ne strashno',1,INSTR('Ne strashno', ' ')-1) from dual
/

В десятке конечно покрасивше можно ...
31 май 07, 14:50    [4212129]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
juks@gala.net
Member

Откуда: Киев
Сообщений: 4212
Напишите свою, наподобие такого

select substr(str,1,instr(str,' ')-1) from (select 'first second' str from dual)


-----------------
Я подливаю пепси-колу в ром
И всем наплевать что будет потом
31 май 07, 14:52    [4212151]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
Двоюшник
Member

Откуда: Киев
Сообщений: 1135
dmidek
yeaster
INSTR указывает первый символ вхождения одной строки в другую, но мне не известно какое это слово, известно, что оно первоет т.е. надо отсечь от строки все после первого пробела...


SELECT substr('Ne strashno',1,INSTR('Ne strashno', ' ')-1) from dual
/

В десятке конечно покрасивше можно ...

SELECT substr('Strashno',1,INSTR('Strashno', ' ')-1) from dual
/
:)
проверочку надо бы :)
31 май 07, 14:56    [4212188]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Ну ладно уж прикапываться :)

SELECT SUBSTR(S1, 1, INSTR(S1, ' ')-1)
FROM
(
SELECT 'Strashno' ||' '   AS S1
FROM dual
)
31 май 07, 15:03    [4212266]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
tru55
Ну ладно уж прикапываться :)

SELECT SUBSTR(S1, 1, INSTR(S1, ' ')-1)
FROM
(
SELECT 'Strashno' ||' '   AS S1
FROM dual
)
Тогда уж лучше так:
SELECT SUBSTR(S1, 1, INSTR(S1 || ' ', ' ')-1)
FROM 
(
SELECT 'Strashno' AS S1
FROM dual
)
31 май 07, 15:11    [4212334]     Ответить | Цитировать Сообщить модератору
 Re: Первое слово из строки  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
dmidek
..В десятке конечно покрасивше можно ...

with t as (select 'first field, second field , third field' s from dual
     union select 'firstfield' from dual)
select regexp_substr(s,'\w+') from t
31 май 07, 15:26    [4212472]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить