私は最初の文字の単語を取得し、その後ろにピリオドを追加しようとしています。私は私が得ることができる。このようなサンプルクエリが、最初の文字だけを試し行うPosgreSQL:各単語の最初の文字を取得し、ピリオド[。]を追加するには?
D.T.
D.
D.L.S
:私は結果を持っている必要があり
Dela Torre
Delacruz
De Los Santos
:ここ
はmiddlenameの私のサンプルデータであります。cast(a.first_name ||' ' ||
SUBSTRING (a.middle_name, 1,1) ||'. '||
a.last_name as text) as name
結果:FIRST_NAME D. last_nameの
どのようにそれを行うために、私ができることができますか?
助けてください。^_^
TIA!ここではそれを
SELECT id, first_name || ' ' || string_agg(left(m, 1) || '.', '') || ' ' || last_name AS name
FROM (
SELECT id, first_name, unnest(string_to_array(middle_name, ' ')) m, last_name
FROM table1
) q
GROUP BY id, first_name, last_name
を行うには
中間名を配列(ここでは:http://stackoverflow.com/a/8585472/1300049のように)に分割し、各要素の最初の文字を取得する必要があります。 – JleruOHeP