Как я могу сделать естественную сортировку в снежинке? - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь отсортировать истории Jira с несколькими потенциальными структурами: от 3 до 5 символов, за которыми следует da sh, за которыми следуют 3 или 4 цифры, например, XXX - ###, XXX - ####, XXXX - ### и др c.

1 Ответ

2 голосов
/ 19 февраля 2020

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

--This Returns '123'
select REGEXP_SUBSTR( 'xx-123' , '\\d+');

--This Returns 'xx'
select REGEXP_SUBSTR( 'xx-123' , '\\w+');

--So this would sort by just the number in a Jira number column based on the number part
... order by REGEXP_SUBSTR( JiraID , '\\d+')::int;

--This would order first by IDs with the same string, and then order by Number
... order by REGEXP_SUBSTR( JiraID , '\\w+'), REGEXP_SUBSTR( JiraID , '\\d+')::int;

Более сложные примеры возможны, если вы предоставите образец ввода с желаемым порядком вывода

...