Mam tabelę z polem nazwy (varchar), która zawiera tylko ciąg liczbowy i chcę zamówić moje zapytania przez to pole. Ale pola nazw są porządkowane alfabetycznie, ale chcę, żeby były uporządkowane numerycznie. Na przykład, jeśli otrzymam 1 2 200 100 jako wartości pól nazw, To jest zamawiane jak 1 100 2 200 , ale potrzebuję ich 1 2 100 200.Porządkowanie wyniku zapytania za pomocą ciągów liczbowych w django (postgres backend)
Mogę wymyślić następujący wiersz zapytanie
select *
from my_table as t
where t.foo='bar'
order by cast(t.name as integer);
Ale nie może reprezentować tego jako zestawów zapytań django orm? Czy istnieje jakiś sposób, aby to zrobić?
Co by się stało, gdyby jeden lub więcej wartości w kolumnie nie było ważne liczbami całkowitymi, to uciekają się do alfabetycznej zastosować żadnej kolejności lub nie? – sthzg
To by się nie udało na PostgreSQL i byłoby w porządku na MySQL ... Właśnie dowiedziałem się po przejściu z db ... Jeśli ktoś wie, jak to obejść, to byłoby wspaniale! – gabn88
Zainteresowane rozwiązaniem w tym zakresie, mamy kolumnę zawierającą zarówno tekst, jak i liczby całkowite. Kiedy posortowane "10" znajduje się obok "1" zamiast poniżej "9". –