Sortowanie liczb i liter w Oracle SQL

0

W kolumnie mam np. następujące wartości: 1, 5, 2a, 2c, 2b, 4. Chciałbym je posortować w następującej kolejności: 1, 2a, 2b, 2c, 4, 5, czyli od najmniejszej do największej liczby, a jeśli występują litery to dla danej liczby są one sortowane alfabetycznie. W jaki sposób mogę to zrobić w Oracle SQL?

0

wyrównać wielkość wszystkich liczb dodając 0 na początku. Możesz to zrobić w locie bez zmiany w tabeli https://docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_functions_2017.htm albo podzielić kolumnę na dwie części - liczbę i znaki i sortować po obu osobno - też do zrobienia "w locie"

0

A skąd będę wiedział, w którym miejscu podzielić kolumny tzn. kiedy kończą się liczby a zaczynają litery?

0

jeśli ZAWSZE najpierw są cyfry a potem ewentualnie litery i NIGDY po literach nie ma już cyfr to zobacz sobie to select trim(translate('123abc',translate('123abc','1234567890',' '),' ')) FROM dual

1 użytkowników online, w tym zalogowanych: 0, gości: 1