在 PostgreSQL 表中排序 NULL 值
将具有 NULL 值的行排序到表的末尾可能是数据管理中的常见要求。 PostgreSQL 提供了多种在排序中处理 NULL 值的方法,具体取决于您希望它们出现在最前面还是最后。
将 NULL 值排序到顶部(降序)
默认情况下,NULL 值按升序排在最后。为了按降序对它们进行排序并使它们显示在顶部,PostgreSQL 版本 8.3 及更高版本提供了 NULLS LAST 子句。
ORDER BY somevalue DESC NULLS LAST
将 NULL 值排序到最后(升序)
对于 8.3 之前的 PostgreSQL 版本和其他没有 NULLS LAST 功能的 RDBMS,您可以使用以下解决方法:
ORDER BY (somevalue IS NULL), somevalue DESC
此表达式利用了 FALSE(表示 NULL 值)在 TRUE 之前排序的事实。因此,NULL 值被放置在排序结果的末尾。
标准 SQL NULL 排序
SQL 标准规定 NULL 值应按升序排在最后并按降序排列在第一位。但是,某些 RDBMS 可能不遵守此标准。 PostgreSQL 默认遵循该标准,但提供了 NULLS LAST 子句来显式控制 NULL 值按降序排序的行为。
以上是如何在 PostgreSQL 中对 NULL 值进行排序:第一个还是最后一个?的详细内容。更多信息请关注PHP中文网其他相关文章!