このような機能を備えたネイティブ関数はありませんが、regexp_split_to_table
を使用できます。 このようにするには:
select theword
from (select regexp_split_to_table('banana',E'(?=.)') theword) tab
order by theword;
結果は次のようになります:
theword
a
a
a
b
n
n
この(?=.)
文字を区切り文字として残して、文字ごとに分割します。また、スペースを識別します。スペースを含む単語があり、それ(スペース)が不要な場合は、E'(\\s*)'
を使用します。 任意の空白文字に一致します。 E
が何だったか思い出せない 意味。できるだけ早く回答を検索して編集します。
DOC で説明されているように セクション「regexp_split_to_table」
編集:私が言ったように:E
の意味 文字列の前にここに表示されます:「 Postgres文字列の前にE"?