我对在准备执行存储过程中使用的以下代码有疑问:
if(param_cod_empresa_pad='') then
set @param_cod_empresa_pad=true;
set @condicion18='and ? ';
elseif(param_cod_empresa_pad='0') then
set @param_cod_empresa_pad=null;
set @condicion18='and pc.cod_empresa_pad is ? ';
else
set @param_cod_empresa_pad=param_cod_empresa_pad;
set @condicion18='and pc.cod_empresa_pad=? ';
end if;
param_cod_empresa_pad='0' 不起作用的第二个条件,我必须这样写:
set @param_cod_empresa_pad=true;
set @condicion18='and pc.cod_empresa_pad is null and ? ';
有人知道为什么吗?我想知道是否有更好的方法在 mysql 中使用动态 sql 调用空变量。
我也试过:
set @param_cod_empresa_pad='null';
set @condicion18='and pc.cod_empresa_pad is ? ';
但没有用。