PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL :DANS UNE SEULE SYNTAXE SQL trier par valeur numérique calculée à partir d'une colonne de texte

En voyant votre nom, je ne peux que publier une simplification de votre réponse :

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;

Ignorer une éventuelle division par zéro.