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
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