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

Postgres ordine naturale di

Postgres ti consente di ordinare per array, che è essenzialmente ciò che rappresenta il numero di versione. Quindi, puoi usare questa sintassi:

order by string_to_array(version, '.')::int[] desc

Ecco un esempio completo:

select *
from (values ('1'), ('2.1'), ('1.2.3'), ('1.10.6'), ('1.9.4')) v(version)
order by string_to_array(version, '.')::int[] desc;

E anche una dimostrazione .