Nie ma natywnej funkcji z taką funkcjonalnością, ale możesz użyć regexp_split_to_table
aby to zrobić w następujący sposób:
select theword
from (select regexp_split_to_table('banana',E'(?=.)') theword) tab
order by theword;
Wynik będzie następujący:
theword
a
a
a
b
n
n
Ten (?=.)
podzieli się według każdego znaku, pozostawiając znak jako separator. Zidentyfikuje również przestrzenie. Jeśli masz słowo ze spacjami i nie chcesz go (spacja) użyj E'(\\s*)'
dopasowuje dowolny znak odstępu. Nie pamiętam, co E
oznacza. Będę szukać i edytować odpowiedź jak najszybciej.
Jak wyjaśniono w DOC w sekcji „regexp_split_to_table”
EDYCJA:Jak powiedziałem:znaczenie E
przed ciągiem możesz zobaczyć tutaj:Co to jest " E” przed napisem Postgres?