假设我有一个名字:Marco Peter Hanson
从这个名字中,我只想显示缩写,就像这样:M.P.H
我该怎么做?我尝试使用
substr
和 split_part
,但似乎无法正确。
substr(comments, 1, 1)
会给我字母“M”,并且
split_part(comments, ' ', 3)
会给我“汉森”
我觉得我应该把 substr 和 split_part 一起工作?
这个名字也可以是 Marco Peter,这样应该给出 M.P,但也可以是其他几个名字,例如:Maro Peter Hanson Brad,这样应该给出 M.P.H.B.
所以我需要做类似的事情:
split_part(comments, ' ', comments.length)
而不是硬编码“评论”的长度
像这样使用
string_agg
SELECT string_agg(substr(word, 1, 1), '.') AS initials
FROM unnest(string_to_array('Marco Peter Hanson', ' ')) AS word;