使用COALESCE来处理PostgreSQL中的NULL值
发布时间:2020-12-13 16:41:09 所属栏目:百科 来源:网络整理
导读:我有以下查询 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; 上述查询返回o / p,如附件所示 但是,我想使
我有以下查询
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; 上述查询返回o / p,如附件所示 但是,我想使用COALESCE将所有空值替换为0 现在我使用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,3 其结果如图2所示。 我仍然收到一行空白值
您可以将COALESCE与NULLIF一起使用,以获得一个简短有效的解决方案:
COALESCE( NULLIF(yourField,''),'0' ) 如果您的Field等于第二个值(在这种情况下为’),则The QUERY | RESULT --------------------------------------------------------------------------------- SELECT COALESCE(NULLIF(null,'0') | '0' SELECT COALESCE(NULLIF('','0') | '0' SELECT COALESCE(NULLIF('foo','0') | 'foo' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |