Neexistuje žádná nativní funkce s takovou funkcí, ale můžete použít regexp_split_to_table
udělat to takto:
select theword
from (select regexp_split_to_table('banana',E'(?=.)') theword) tab
order by theword;
Výsledek bude:
theword
a
a
a
b
n
n
Toto (?=.)
se rozdělí každým znakem a ponechá znak jako oddělovač. Bude také identifikovat prostory. Pokud máte slovo s mezerami a nechcete ho (mezera), použijte E'(\\s*)'
odpovídá libovolnému znaku mezery. Nepamatuji si, co je E
prostředek. Vyhledám a upravím odpověď co nejdříve.
Jak je vysvětleno v dokumentech DOC v sekci "regexp_split_to_table"
EDIT:Jak jsem řekl:Význam E
před řetězcem můžete vidět zde:Co je to " E“ před řetězcem Postgres?