Sql 带NaN值的Postgres顺序列
我在postgres中有一个数据库,在少数列(键入int)中有NaN值。当我对ASC进行排序时,结果是正确的,例如:Sql 带NaN值的Postgres顺序列,sql,postgresql,sorting,Sql,Postgresql,Sorting,我在postgres中有一个数据库,在少数列(键入int)中有NaN值。当我对ASC进行排序时,结果是正确的,例如: 0 1 2 3 4 NaN 但当我分类描述时,我得到: naN 4 3 2 1 0 我知道Postgres将NaN值视为相等的,并且大于所有非NaN值,但是有没有办法得到这个结果 4 3 2 1 0 NaN 有什么想法吗?如果您的列不包含NULLs,您可以毫不含糊地将NaNs转换为NULL,并根据其排序: select * from some_table order by
0
1
2
3
4
NaN
但当我分类描述时,我得到:
naN
4
3
2
1
0
我知道Postgres将NaN值视为相等的,并且大于所有非NaN值,但是有没有办法得到这个结果
4
3
2
1
0
NaN
有什么想法吗?如果您的列不包含
NULL
s,您可以毫不含糊地将NaNs转换为NULL,并根据其排序:
select *
from some_table
order by nullif(some_column, 'NaN') desc nulls last
NULLS最后完成了这个技巧:)但是它也适用于文本值吗?@DanielKoczuła如何在文本列中获得NaN?