SELECT MAX(string_field)

Cześć,

Mam kolumnę str_number z wartościami:
‘A123’
‘B-456’
‘CDE012’
…itd

Jak w Railsach napisać zapytanie, które wyciąga maksymalną wartość numeryczną z kolumny typu string?
czyli odpowiednik takiego zapytania SQL do postgresa:
“SELECT max(abs(to_number(my_table.str_number,‘999999999’))) AS max_number FROM my_table”

P.S.
ABS() dodane, by uwzględniło przykładowe ‘B-456’ w tym wybieraniu największej wartości

Model.maximum("abs(to_number(my_table.str_number,'999999999'))")
table = ['A123', 'B-456', 'CDE012']
table.map{|x| x.gsub(/[^0-9]/, '').to_i}.max
=> 456

Powinno zadziałać na modelu tak samo.

Zastosowałem pomysł Radarka.
Działa …oczywiście :slight_smile:

Dzięki