Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Iai Pessoal, postando pela primeira vez aqui nesta área!!
Tenho uma situação muito complicada para resolver e gostaria da ajuda de vocês.
Como substituir os dados de uma fórmula que está em string pelo resultado de consultas no banco de dados?
Os números que estão na fórmula correspondem aos dados de uma tabela onde preciso trazer o valor como retorno.
Select codrelatorio, situacao, formula
Select 10, "teste", "([981] + [988]) / [700]" formula
Ex.: Pegar o número 981 e realizar uma consulta em uma tabela, retornando assim o valor 1090.01;
begin
@valor = SELECT v.valor FROM table_exemplo WHERE codigo = 981
return @valor;Fórmula: (1090.01 + [988]) / [700]
E assim por diante até ter todos os números da fórmula substituídos e ter este resultado:
Select 10, "teste", (1090.01 + 150) / 55 formula
Resolvido.
Mamão com açúcar caso alguém precise um dia.
Fica faltando executar a soma, nisto ainda estou quebrando a cabeça.
Caso alguém saiba como realizar a soma de uma operação que está como string no mysql, por favor me ajude.
Equivale a função eval() do javascript.
select convert_formula("[792]+[793]+[794]+[795]+[911]+[912]") as valor;
Function
CREATE DEFINER=
hoster@%FUNCTIONconvert_formula(formula varchar(255)) RETURNS varchar(555) CHARSET latin1BEGIN
END
Function
CREATE DEFINER=
hoster@%FUNCTIONquantCaracter(x varchar(255), delim varchar(12)) RETURNS int(11)BEGIN
RETURN (length(x)-length(REPLACE(x, delim, '')))/length(delim);
END