嗨,我正在处理一个查询,我想做的是,每当输出为负值时,我想使其为空,下面是我的查询,有人能帮我吗?
select (to_char((coalesce(14515200/3600000,0) - (coalesce(30512.65/3600,0) - (coalesce(1800/3600,0) + (coalesce(1800/3600,0))))),'FM99,999,999,999'))::character varying as test
sg3maiej1#
如果希望负值的结果为null,请使用
nullif(greatest(/* your expression */, 0), 0)
tkclm6bt2#
把你的逻辑移到 from 条款和使用 case :
from
case
select (case when test_n >= 0 then test_n::character varying end) from (select . . . as test_n -- your expression as number) x
如果表达式实际使用表中的值,则可以使用子查询、cte或横向联接来定义 test_n .
test_n
2条答案
按热度按时间sg3maiej1#
如果希望负值的结果为null,请使用
tkclm6bt2#
把你的逻辑移到
from
条款和使用case
:如果表达式实际使用表中的值,则可以使用子查询、cte或横向联接来定义
test_n
.