S.R*_*.Ro 6 postgresql array string
我正在使用 PostgreSQL 9.5.6。我有空格分隔的多字串,我需要缩短说 3 个字?
我查看了文档,为了使用 substring() 函数,我需要知道要开始提取的字符的索引位置,但我正在使用的字符串长度不同。
我也看过 split_part() 并且只返回一个词。
我怎样才能得到类似的东西:
hello everyone out there somewhere
Run Code Online (Sandbox Code Playgroud)
缩短为
hello everyone out
Run Code Online (Sandbox Code Playgroud)
将句子转换为数组,然后选取前三个元素并将它们连接回单个字符串:
select array_to_string ((regexp_split_to_array(title, '\s+'))[1:3], ' ')
from book;
Run Code Online (Sandbox Code Playgroud)
或者,只需使用split_part()
三次:
select split_part(title, ' ', 1)||
split_part(title, ' ', 2)||
split_part(title, ' ', 3)
from book;
Run Code Online (Sandbox Code Playgroud)
split_part()
有一个缺点,即您无法正确处理单词之间的多个空格。
归档时间: |
|
查看次数: |
2311 次 |
最近记录: |