PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgresql Funktion zum Sortieren von Zeichen innerhalb eines Strings

Es gibt keine native Funktion mit einer solchen Funktionalität, aber Sie können regexp_split_to_table verwenden um dies wie folgt zu tun:

select theword 
  from (select regexp_split_to_table('banana',E'(?=.)') theword) tab 
 order by theword;

Das Ergebnis ist:

theword
   a
   a
   a
   b
   n
   n

Dieser (?=.) wird durch jedes Zeichen getrennt, wobei das Zeichen als Trennzeichen verbleibt. Es wird auch Räume identifizieren. Wenn Sie ein Wort mit Leerzeichen haben und es (das Leerzeichen) nicht wollen, verwenden Sie E'(\\s*)' entspricht jedem Leerzeichen. Ich erinnere mich nicht, was das E war meint. Ich werde die Antwort so schnell wie möglich suchen und bearbeiten.

Wie in den DOCs erklärt im Abschnitt "regexp_split_to_table"

EDIT:Wie gesagt:Die Bedeutung des E vor dem String kannst du hier sehen:What's the " E" vor einem Postgres-String?