2013-03-18 2 views
-1

Как я могу вернуть второе слово в типе данных varchar2 и пустое, если ничего нет? Идея заключается в использовании функции внутри функции.Возвращаемое слово в строке

+3

Регулярное выражение вероятно, то, что вам нужно. Используйте его в функции regexp_substr. –

ответ

2

substr(column, instr(column, ' ') + 1)

редактировать (только второе слово):

substr(col, instr(col, ' '), instr(col, ' ', instr(col, ' ') + 1) - instr(col, ' '))

редактирование снова:

как отметил Колин, REGEXP_SUBSTR(col,'\S+',1,2) может быть лучшим способом сделать это

+0

вот-вот опубликует это ... вот его sqlfiddle: http://sqlfiddle.com/#!2/07093/2 – rbedger

+1

И как это возвращает только второе слово, а не последующие слова? –

+0

Это не так. Я просто протестировал его – David

4
regexp_substr(column, '\S+', 1, 2) 
+1

Я думаю, что предпочел бы это решение! –

Смежные вопросы