Oracle SQL 开发人员 - SUBSTR 和 LIKE

Oracle SQL Developer - SUBSTR and LIKE

我有一列 NAME_SURNAME(由名字和姓氏组成)来自 table 个人:

John Smith
Tim Burton
Harry Potter

我需要编写查询以仅获取姓名:

John
Tim
Harry

我正在尝试这种方式,但它不起作用:

select NAME_SURNAME, substr(NAME_SURNAME, 1, LIKE '% %')
from PEOPLE

我不知道如何在这个练习中使用 LIKE。

非常感谢

使用 INSTRSUBSTR 获取第一个子字符串 space:

SELECT NAME_SURNAME, SUBSTR(NAME_SURNAME, 1, INSTR(NAME_SURNAME, ' ') - 1)
FROM PEOPLE;

Demo

对于正则表达式方法,我们可以使用 REGEXP_SUBSTR:

SELECT NAME_SURNAME, REGEXP_SUBSTR(NAME_SURNAME, '^\S+') AS FIRST_NAME
FROM PEOPLE;