我在postgres和几列中都有一个数据库(类型为int)我有NaN值。当我对ASC进行排序时,结果是正确的,例如:
0
1
2
3
4
NaN
但是当我正在排序DESC时,我得到了:
naN
4
3
2
1
0
我知道Postgres将NaN值视为相等,并且大于所有非NaN值,但有没有办法得到这个结果?
4
3
2
1
0
NaN
有什么想法吗?
答案 0 :(得分:4)
如果您的列不包含NULL
,则可以明确地将NaN转换为NULL并对其进行排序:
select *
from some_table
order by nullif(some_column, 'NaN') desc nulls last