sql - PostgreSQL 中第一次出现空格时分割字符串?

标签 sql string postgresql csv

我有一列包含这样的名字和姓氏。

word1 word2
word1 word2 word3
word1 word2

我需要在第一次出现空格时分割字符串。

|word1| |word2|
|word1| |word2| |word3|
|word1| |word2|

谁能帮帮我,谢谢

最佳答案

将列拆分为数组:

select string_to_array(words, ' ') as words_array

如果您愿意,可以将其放在单独的列中,但我会将 string_to_array() 移至 from 子句:

select word_array[1], word_array[2], word_array[3]
from t cross join lateral
     (values (string_to_array(t.words, ' '))) v(word_array)

关于sql - PostgreSQL 中第一次出现空格时分割字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64914678/

相关文章:

python - 如何在 Flask Peewee ORM 中设置 Postgres 用户名和密码?

postgresql - 删除时如何查看查询影响的行数

java - 如何在加入 HQL 时应用 2 个条件

mysql - SQL 选择值不匹配的地方

linux - 如何在 Linux 上将十六进制字符串转换为字节字符串

c++ - 如何使用引用调用从 C++ 函数中获取 char** 类型变量的值?

Sqlite:从表中选择 * 但 ID

javascript - 使用 Knex 和 PG 插入多行

java - 返回 HashSet 中对象的连接某些字段的字符串

php - sql在另一个表中选择 'where'