PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Natürliche Postgres-Reihenfolge nach

Postgres ermöglicht es Ihnen, nach Arrays zu sortieren – was im Wesentlichen die Versionsnummer darstellt. Daher können Sie diese Syntax verwenden:

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

Hier ist ein vollständiges Beispiel:

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;

Und sogar eine Demonstration .