为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8
【操作系统】: win11
【CPU】: 锐龙5800h
【问题描述】*:
sql 执行报错,if 函数不支持判空,改为 case when 也不行。
SELECT
IF ( a.sell_amount != NULL,
a.total_amount != NULL,
a.total_amount - a.sell_amount)
FROM
tbl_plant_plan_sell_agri a
WHERE
a.plant_plan_id = 12
在 MySQL 中是可以正常执行的,请问在达梦中要怎么改写?
如果时判断是否为空的话可以用IFNULL(n1,n2)函数来改写:当 n1 为非空时,返回 n1;若 n1 为空,则返回 n2
IF(condition, value_if_true, value_if_false)
参数说明
condition: 判断条件
value_if_true: 如果condition的结果为TRUE,返回该值
value_if_false: 如果condition的结果为FALSE,返回该值
mysql的if函数第一个参数是一个判断条件,第二个参数是判断条件为true时返回的值,第二个参数是判断条件为false时返回的值
那您这第二个参数为何时一个条件呢?