【发布时间】:2015-10-23 21:41:58
【问题描述】:
我使用的是 Postgres 9.4 版,并且我在表中有一个 full_name 字段。
在某些情况下,我想在我的表中输入姓名的首字母而不是全名。
类似:
Name | Initials
------------------------
Joe Blow | J. B.
Phil Smith | P. S.
full_name 字段是一个字符串值(显然),我认为最好的方法是将字符串拆分为一个数组 foreach 空间,即:
select full_name, string_to_array(full_name,' ') initials
from my_table
这会产生以下结果集:
Eric A. Korver;{Eric,A.,Korver}
Ignacio Bueno;{Ignacio,Bueno}
Igmar Mendoza;{Igmar,Mendoza}
现在,我唯一缺少的是如何遍历每个数组元素并从中提取第一个字符。我最终将使用substring() 来获取每个元素的初始字符 - 但是我只是被困在如何即时循环它们..
谁有一个简单的方法来解决这个问题?
【问题讨论】:
标签: sql postgresql