У меня есть таблица Аннотация, которая имеет один из столбцов (SerialNumber). Он имеет данные, как показано ниже.Пользовательский сортировка с чередой чисел (последовательностей) с использованием oracle sql
1
1.1
1.1.1
1.1.2
1.2
..
..
10
10.1
10.2
Теперь мое требование состоит в том, чтобы сортировать данные на основе этого столбца в качестве первого предпочтения. Максимум 2 "точки" возможны в SerialNumber.
So 1.2.3.4
невозможно. Максимальный номер может быть 999
на любом уровне. т.е. 999.999.999
- максимально возможная последовательность.
Я пытался путем выдачи ORDER BY SerialNumber
, он приходит как
1
10
10.1
..
2
2.1
Просто из-за характера своего рода, а не 2
, 10
приходит после 1
. Любая идея о том, как это можно достичь.? Так как мне это нужно в JDBC и в нескольких запросах (в разных модулях), надеясь получить это как можно более общее.
Получить подстроки каждого числового компонента и масштаб с силой 10, то dd их всех, и сортировать. – OldProgrammer
'LPAD'' 0' с каждым номером внутри .. так что вы можете сделать сортировку символов .. пример '1.1.1' как' 001.001.001' –
Помогло ли регулярное выражение? Извините, я не очень хорош в этом. –