【发布时间】:2016-04-21 16:23:59
【问题描述】:
如何将 MySQL 查询中的 NULL 值替换或替换为我需要的值?
如果为 null 或 coleasce 或 with case 或 with if? 我无法让它工作。
示例在SQL Fiddle
-
第一行和第二行:
- 第三列:所有产品的总和;
- 第四栏:活跃产品;
- 第五列:无效产品。
-
第三行和第四行:
- 第三列:所有产品的总和;
- 第四栏:活跃产品;
- 第五列:非活动产品(
NULL值 => 需要0值)。
-
第五和第六行:
- 第三列:所有产品的总和;
- 第四栏:活跃产品(
NULL值 => 需要0值); - 第五列:无效产品(
NULL值 => 需要第三列中的值)。
如果我获得非活动产品的 NULL 值,我需要将其替换为 0,但是当我在活动产品中获得 NULL 值时,我需要将其替换为 0 并在非活动列中替换NULL 值与第三列中的值。
没有UPDATE 或INSERT 函数,因为这是一个MySQL 视图。
基本上我需要的是:
if active <> 0 and inactive <> 0
then 'no value change'
if active <> 0 and inactive = null
then inactive = 0
if active = null
then active = 0 and inactive = product_sum
【问题讨论】:
标签: mysql null substitution