У меня есть вопрос по поводу следующего кода, который я использую в хранимой процедуре prepare-execute:
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 ? ';
Кто-нибудь знает почему? Я хотел бы знать, есть ли лучший способ для вызова нулевой переменной с использованием динамического SQL в MySQL.
Я тоже пробовал:
set @param_cod_empresa_pad='null';
set @condicion18='and pc.cod_empresa_pad is ? ';
но не сработало.