相关疑难解决方法(0)

使用COALESCE处理PostgreSQL中的NULL值

我有以下查询

SELECT  DISTINCT 
     pt.incentive_marketing, 
     pt.incentive_channel, 
     pt.incentive_advertising 
FROM test.pricing pt 
WHERE pt.contract_id = 90000 
group by 1,2,3 
order by pt.incentive_marketing;
Run Code Online (Sandbox Code Playgroud)

上面的查询返回o/p,如附图所示 在此输入图像描述

但是我想使用COALESCE将所有空值替换为0 请让我知道如何在上面的SELECT查询中实现这一点

现在我使用coalesce进一步修改了查询,如下所示

SELECT  
     COALESCE( pt.incentive_marketing, '0' ), 
     COALESCE(pt.incentive_channel,'0'), 
     COALESCE( pt.incentive_advertising,'0') 
FROM test.pricing pt 
WHERE pt.contract_id = 90000 
group by 1,2,3 
Run Code Online (Sandbox Code Playgroud)

其结果如图2所示.

我仍然收到一行空白值

sql database postgresql null coalesce

54
推荐指数
2
解决办法
11万
查看次数

mysql,ifnull vs coalesce,哪个更快?

如果知道列的结果只有两个候选值,

ifnull(a, b) as a_or_b_1
Run Code Online (Sandbox Code Playgroud)

coalesce(a, b) as a_or_b_2
Run Code Online (Sandbox Code Playgroud)

会给出相同的结果.但哪个更快?在搜索时我发现了这篇文章,其中说ifnull更快.但这是我找到的唯一一篇文章.对此有何看法?

提前致谢 :)

mysql query-optimization

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

coalesce ×1

database ×1

mysql ×1

null ×1

postgresql ×1

query-optimization ×1

sql ×1