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

Ordre naturel Postgres par

Postgres vous permet de trier par tableaux - ce qui correspond essentiellement à ce que représente le numéro de version. Par conséquent, vous pouvez utiliser cette syntaxe :

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

Voici un exemple complet :

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;

Et même une démonstration .