在 PostgreSQL 中,NULL
值在升序(asc)排序中被视为最小,而在降序(desc)排序中被视为最大。因此,当使用 ORDER BY update_time DESC
时,NULL
值实际上是被视为最大的值,而不是最小的。这就是为什么看到的是 NULL
而不是 时间数据。
解决:
这个问题,可以使用 NULLS LAST
选项来修改排序行为,使得在降序排序中 NULL
值被视为最小。
select * from test order by update_time desc nulls last;