PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Funkcja Postgresql do sortowania znaków w ciągu znaków

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?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie znaleziono identyfikatora transakcji Postgresql

  2. Jak pg_dump bazę danych RDS Postgres?

  3. Jak obliczyć sumę wielu kolumn w PostgreSQL

  4. Jak dopasować ostatnie dwa słowa w zdaniu w PostgreSQL?

  5. jak sprawdzić typ wartości w postgresie