Maison >base de données >tutoriel mysql >Comment PostgreSQL gère-t-il les valeurs NULL dans les clauses ORDER BY ?

Comment PostgreSQL gère-t-il les valeurs NULL dans les clauses ORDER BY ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-25 01:13:14291parcourir

How Does PostgreSQL Handle NULL Values in ORDER BY Clauses?

Ordre des valeurs NULL dans PostgreSQL

Le tri des lignes avec des valeurs NULL peut être personnalisé dans PostgreSQL. Par défaut, les valeurs NULL sont triées en dernier par ordre croissant. Cependant, par ordre décroissant, les valeurs NULL apparaissent en premier.

Tri des valeurs NULL en dernier par ordre croissant

Par défaut, les valeurs NULL sont triées en dernier par ordre croissant. Cela signifie que les lignes contenant des valeurs NULL dans des champs spécifiques apparaîtront au bas du tableau lorsqu'elles seront triées en fonction de ces champs.

Tri des valeurs NULL en premier par ordre décroissant

À trier les valeurs NULL en premier par ordre décroissant, PostgreSQL 8.3 et versions ultérieures proposent les NULLS DERNIER option :

ORDER BY somevalue DESC NULLS LAST

Tri des valeurs NULL en premier par ordre décroissant pour PostgreSQL 8.2 et versions antérieures

Pour PostgreSQL 8.2 et versions antérieures ou d'autres SGBDR sans la fonctionnalité NULLS LAST, vous pouvez utiliser la solution de contournement suivante :

ORDER BY (somevalue IS NULL), somevalue DESC

Depuis FALSE trie avant TRUE, les valeurs NULL (qui sont représentées comme NULL dans PostgreSQL) seront considérées comme FALSE et donc triées en dernier, les poussant effectivement vers le haut de la table triée par ordre décroissant.

Références

  • [Trier par colonne ASC, mais valeurs NULL en premier ?](https://stackoverflow.com/questions/5259380/sort-by-column-asc-but-null-values-first)
  • [Le manuel sur SELECT](https://www .postgresql.org/docs/current/static/sql-select.html)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn