首页 >数据库 >mysql教程 >PostgreSQL 如何处理 ORDER BY 子句中的 NULL 值?

PostgreSQL 如何处理 ORDER BY 子句中的 NULL 值?

Patricia Arquette
Patricia Arquette原创
2024-12-25 01:13:14259浏览

How Does PostgreSQL Handle NULL Values in ORDER BY Clauses?

在 PostgreSQL 中排序 NULL 值

可以在 PostgreSQL 中自定义对具有 NULL 值的行进行排序。默认情况下,NULL 值按升序排在最后。但是,按照降序排列,NULL 值首先出现。

按升序对 NULL 值进行最后排序

默认情况下,NULL 值按升序最后排序。这意味着当按特定字段排序时,特定字段中包含 NULL 值的行将显示在表格底部。

首先按降序对 NULL 值进行排序

至首先按降序对 NULL 值进行排序,PostgreSQL 8.3 及更高版本提供 NULLS LAST选项:

ORDER BY somevalue DESC NULLS LAST

对于 PostgreSQL 8.2 及更早版本,首先按降序对 NULL 值进行排序

对于 PostgreSQL 8.2 及更早版本或其他没有 NULLS LAST 功能的 RDBMS,您可以使用以下解决方法:

ORDER BY (somevalue IS NULL), somevalue DESC

自FALSE 在 TRUE 之前排序,NULL 值(在 PostgreSQL 中表示为 NULL)将被视为 FALSE,因此排在最后,有效地将它们按降序推到排序表的顶部。

参考文献

  • [按列 ASC 排序,但为 NULL 值首先?](https://stackoverflow.com/questions/5259380/sort-by-column-asc-but-null-values-first)
  • [SELECT 手册](https://www .postgresql.org/docs/current/static/sql-select.html)

以上是PostgreSQL 如何处理 ORDER BY 子句中的 NULL 值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn