使用 SQL 提取 space 之前的第一个单词
Extract the first word before a space using SQL
假设我的 users
table 中有一个名为 name
:
的专栏
name
----
Brian
Jill Johnson
Sarah
Steven Smith
我想编写一个 PostgreSQL 查询来只获取名字。这是我目前所拥有的:
select substr(name, 0, position(' ' IN name) | length(name) + 1) as first_name from users;
name
----
Brian
Jill
Sarah
Steven
这似乎可行,但我觉得还有更简单的方法。
虽然我没有遵循逻辑,但您的代码看起来像 Postgres。如果是这样,请使用 split_part()
:
select split_part(name, ' ', 1)
from users;
假设我的 users
table 中有一个名为 name
:
name
----
Brian
Jill Johnson
Sarah
Steven Smith
我想编写一个 PostgreSQL 查询来只获取名字。这是我目前所拥有的:
select substr(name, 0, position(' ' IN name) | length(name) + 1) as first_name from users;
name
----
Brian
Jill
Sarah
Steven
这似乎可行,但我觉得还有更简单的方法。
虽然我没有遵循逻辑,但您的代码看起来像 Postgres。如果是这样,请使用 split_part()
:
select split_part(name, ' ', 1)
from users;