PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:IN UN'UNICA SINTASSI SQL ordina per valore numerico calcolato da una colonna di testo

Vedendo il tuo nome non posso che postare una semplificazione della tua risposta:

SELECT id, number_value_in_string FROM table
 ORDER BY CASE WHEN substr(number_value_in_string,1,2) = '1/'
        THEN 1/substr(number_value_in_string,3)::numeric 
        ELSE number_value_in_string::numeric END, id;

Ignora la possibile divisione per zero.