PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgresql Функция за сортиране на знаци в низ

Няма собствена функция с такава функционалност, но можете да използвате 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 преди низа, който можете да видите тук:Какво е " E" преди низ на 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. PostgreSQL анонимизация при поискване

  2. Определете държавата от IP - IPv6

  3. SELECT или INSERT ред в една команда

  4. записваем общ табличен израз и множество изрази за вмъкване

  5. Не може просто да се използва името на таблицата PostgreSQL (връзка не съществува)