postgresql 将 0 替换为“NULL”

Dyl*_*eus 2 sql postgresql

我想用输出中的空(NULL)值替换一行的 0 个值。我正在选择中使用子查询,但我并不完全清楚如何执行此操作。到目前为止,这是我的查询:

select spelersnr, (select count(bedrag) from boetes where boetes.spelersnr = S.spelersnr
) as aantalboetes

from spelers S inner join wedstrijden using(spelersnr)
left join boetes using(spelersnr)
group by spelersnr


order by aantalboetes asc, spelersnr asc
Run Code Online (Sandbox Code Playgroud)

另外,我首先需要按升序对所有非 NULL 值进行排序,然后是空值。

谢谢!

Dav*_*dge 6

使用 NullIf() 函数将值替换为 null 很简单。通常,它将用于避免被零除错误......

numerator/NullIf(denominator,0)
Run Code Online (Sandbox Code Playgroud)

...所以除以零会导致空值。

在您的情况下,您可以将其应用于计数(*):

NullIf(count(*),0)
Run Code Online (Sandbox Code Playgroud)