MySql在if()条件中使用replace()



我尝试过:

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中运行良好。

最新更新