Những gì bạn đã hiển thị trong câu hỏi sắp xếp thứ tự chỉ bằng phần số của giá trị, vì vậy bạn sẽ thấy một cái gì đó như:
TOKEN
------
BRIP.1
BRFL.1
BRBF.1
BR00.1
BRRF.1
BR00.2
BRRF.2
BRBF.2
BR00.3
BRRF.3
BR01.1
BR01.2
BR06.1
BR12.1
BR13.2
BR17.1
BR120
BR121
BR132
Nếu bạn muốn sắp xếp thứ tự theo các ký tự chữ cái và sau đó theo các số bên trong chúng, bạn có thể sử dụng hai biểu thức theo thứ tự theo mệnh đề - vì vậy bạn sắp xếp theo phần chữ cái đầu tiên và sau đó theo số được tạo thành từ những gì còn lại sau tất cả các ký tự chữ cái bị loại bỏ:
select * from sortest
order by regexp_substr(token, '[[:alpha:]]*'),
to_number(regexp_replace(token, '[[:alpha:]]', null));
TOKEN
------
BR00.1
BR00.2
BR00.3
BR01.1
BR01.2
BR06.1
BR12.1
BR13.2
BR17.1
BR120
BR121
BR132
BRBF.1
BRBF.2
BRFL.1
BRIP.1
BRRF.1
BRRF.2
BRRF.3