Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如果输出为负值,如何使其为空?_Sql_Database_Postgresql_Pgadmin - Fatal编程技术网

Sql 如果输出为负值,如何使其为空?

Sql 如果输出为负值,如何使其为空?,sql,database,postgresql,pgadmin,Sql,Database,Postgresql,Pgadmin,嗨,我正在处理一个查询,我想做的是,每当输出值为负值时, 我想把它设为空,下面是我的查询,有人能帮我吗 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 如果希望负值的结果为NULL,请使用 n

嗨,我正在处理一个查询,我想做的是,每当输出值为负值时, 我想把它设为空,下面是我的查询,有人能帮我吗

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

如果希望负值的结果为NULL,请使用

nullif(greatest(/* your expression */, 0), 0)

将逻辑移到
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

use
magest(…,0)
@LaurenzAlbe select(to_char(最大值(合并(14515200/3600000,0)-(合并(30512.65/3600,0)-(合并(1800/3600,0)+(合并(1800/3600,0))),0),'fm999999'))::字符随缺勤而变化它将0作为输出,我想显示null,而不是0然后添加另一个
NULLIF()
。我没有找到在哪里添加null if?你能补充一下吗?