Сортировка символов строки

489
23 января 2017, 18:56

Есть строка, сортировать буквы(символы) строки по алфавиту.

Пример:

SET @var="acb";
SELECT @var;
SELECT SORT(@var);

Вывод:

acb @var;

abc SORT(@var);

Answer 1

Нам потребуется рабочая таблица с порядковыми номерами от 1 до максимальной длины обрабатываемой строки:

create table seqnum(X int not null, primary key(X));
insert into seqnum values(1),(2),(3),(4);
insert into seqnum select X+4 from seqnum;
insert into seqnum select X+8 from seqnum;
insert into seqnum select X+16 from seqnum;
insert into seqnum select X+32 from seqnum;
...

Сортирующий запрос будет выглядеть так:

SET @var="acb";
select group_concat(substr(@var,x,1) order by substr(@var,x,1) separator '') 
  from seqnum
 where x<=length(@var);

Данный запрос сначала разворачивает входную строку на отдельные символы, по одному в записи, после чего собирает полученную выборку обратно в строку, но уже в заданном порядке.

READ ALSO
Как узнать размера массива JSON в mysql?

Как узнать размера массива JSON в mysql?

Мне необходимо в триггере узнать размер массива JSON,но я не знаю как узнать её,знаю что можно так

363
Sugar ORM как в запросе взять boolean

Sugar ORM как в запросе взять boolean

Не могу вытянуть данные с запросом на булевое значениеЗапрос делаю так:

459
Отладка java for web

Отладка java for web

Пытаюсь писать серверную часть на JavaРазвернул maven-проект со Spring MVC, вникаю в мануал

312
Преобразование кириллицы в URL (Java)

Преобразование кириллицы в URL (Java)

Впервые с этим сталкиваюсь:

421