我尝试过:
SET @my_var = 'one,two,three';
SET @to_replace = 'two,';
SET @my_check = 1;
SET @my_var = SELECT IF(
ISNULL(@my_check),
@my_var,
REPLACE(@my_var, @to_replace,'')
);
在条件下,我也尝试了SET @my_var = IF( ...
或SELECT REPLACE
而不是REPLACE
但出现语法错误
我期望的是:
如果@my_check = null
,那么@my_var = 'one,two,three'
(仍然不变(
否则用''
替换two,
,但使用@to_replace
变量
预期结果:@my_var = 'one,three'
set @my_var = if(isnull(@my_check), @my_var, replace(@my_var, @to_replace, ''));
在MySQL v8中运行良好。