在SQL中从String中读取间距

Fem*_*ale 1 sql oracle plsql plsqldeveloper

我有一个字符串(带空格),我想从中分隔最后一个单词.例如:

"Steve Jobs" => Jobs
"Stack OverFlow Question" => Questions
Run Code Online (Sandbox Code Playgroud)

PL/SQL或SQL中是否有任何功能,以便我能够得到结果JobsQuestion分离出来?

Jus*_*ave 5

你可以使用INSTRSUBSTR. INSTR告诉你一个特定角色的位置.为起始位置传递-1会告诉Oracle开始向字符串前面查看字符串的结尾.

SQL> ed
Wrote file afiedt.buf

  1  with x as (
  2    select 'Steve Jobs' str from dual union all
  3    select 'Stack Overflow Question' from dual
  4  )
  5  select substr( str, instr( str, ' ', -1 ) + 1 ) last_word
  6*   from x
SQL> /

LAST_WORD
----------------------------------------------------------------------  
Jobs
Question
Run Code Online (Sandbox Code Playgroud)