2017-07-11 29 views
0

是否有配置选项在某处或任何可以让我强制postgres在每个使用DESC排序的查询上使用NULLS LAST?Postgresql排序方式desc nulls last every every query

我不想在我的应用程序中重写从Criteria API到JPQL的所有查询,而且似乎JPA Criteria API不允许设置null最后一个选项。

+0

你可以通过使用像'ORDER BY(column IS NULL),column DESC'这样的东西来解决无法分拣null的问题。 'ASC'命令中首先出现'false',因此默认情况下,空值将是最后一个。我不知道配置寿。 –

回答

1

不,至少我从来没有听说过这样的。简单的检查,不给希望它可以:

t=# select setting, name from pg_settings where name like '%null%'; 
setting |   name 
---------+----------------------- 
on  | array_nulls 
off  | transform_null_equals 
(2 rows) 

https://www.postgresql.org/docs/current/static/queries-order.html没有提到这样的全球交换机或者,只是:

的NULLS FIRST和NULLS LAST选项可以用来确定 空是否出现在排序 排序中的非空值之前或之后。默认情况下,空值的排序方式好像大于任何非空值 值;也就是说,NULLS FIRST是DESC订单的默认值,否则为NASTLS 。