sql - 使用 SQL 提取空格前的第一个单词
问题描述
假设我的users
表中有一个名为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;
推荐阅读
- android - 约束布局协调器布局
- flutter - 等待另一个flutter命令释放启动锁
- python - try/except语句导致sql查询不能正常运行
- angularjs - AngularJS / Angular 6 混合应用程序重复控制台错误消息
- python - Foreach 循环具有针对特定迭代的附加行为
- dynamics-crm - crm 2011 RU18 on prem 使用 TLS 加密通信到 sql 服务器?
- pivot-table - 如何在 Excel 中使用多个切片器链接表格和数据透视表?
- javascript - chrome devtools,如何在信息亭模式下打开
- python - 图像分类的数据集组织是否必要?
- c# - 从另一个应用程序拖放 C# Windows 窗体应用程序