Última palavra em uma frase: In SQL (expressões regulares são possíveis?)

Eu preciso que isso seja feito no Oracle SQL (10gR2). Mas eu acho que eu prefiro colocar claramente, qualquer algoritmo bom e eficiente é bom.

Dada uma linha (ou sentença, contendo uma ou várias palavras, inglês), como você encontrará a última palavra da sentença?

Aqui está o que eu tentei em SQL. Mas gostaria de ver uma maneira eficiente de fazer isso.

select reverse(substr(reverse(&p_word_in)
                         , 0
                         , instr(reverse(&p_word_in), ' ')
                         )
                  )
      from dual;

A idéia era reverter a sequência, encontrar o primeiro espaço que ocorresse, recuperar a substring e reverter a sequência. É bastante eficiente? Existe uma expressão regular disponível? Estou no Oracle 10g R2. Mas não me importo de ver qualquer tentativa em outra linguagem de programação, não me importo de escrever uma função PL / SQL, se necessário.

Atualizar:

Jeffery Kemp deu uma resposta maravilhosa. Isso funciona perfeitamente.

Responda
SELECT SUBSTR(&sentence, INSTR(&sentence,' ',-1) + 1)
FROM dual

questionAnswers(5)

yourAnswerToTheQuestion