levito 0 Denunciar post Postado Abril 19, 2011 Bom dia, estou com a seguinte situação, necessito dentro de um SELECT executar a seguinte operação '1+3.5' e deve me retornar o valor 4.5 Exemplo: SELECT '1+3.5' FROM dual; porém não consigo de maneira alguma, executar essa operação matematica. Alguém sabe como resolver? Compartilhar este post Link para o post Compartilhar em outros sites
marceloaltmann 0 Denunciar post Postado Abril 19, 2011 bom dia levito tenta executar assim SELECT * , 1+3.5 FROM dual; Compartilhar este post Link para o post Compartilhar em outros sites
levito 0 Denunciar post Postado Abril 19, 2011 bom dia levito tenta executar assim SELECT * , 1+3.5 FROM dual; marcelo, agradeço a ajuda mas não é o caso, a situação é a seguinte, eu tenho uma função onde irá acontecer um calculo de média, nessa função existem vários tipos de calculos, onde 1 deles é média por formula, essa formula irá vir de uma tabela onde ela poderá por exemplo ser desta forma: (nota1+nota2)/2. onde na própria função eu irei substituir os valores nota1 e nota2 pelos seus respectivos valores. No final do processo de montagem da formula, eu irei obter o exemplo que eu passei no primeiro post '1+3.5' sendo ela uma string, eu agora preciso executa-la (calcular). Ou seja, como eu fiz todo o tratamento da formula e agora preciso calcular ela, não estou conseguindo converter, calcular o valor. Compartilhar este post Link para o post Compartilhar em outros sites
marceloaltmann 0 Denunciar post Postado Abril 19, 2011 Não consegui compreender bem ao certo qual a lógica que tu está usando, e se você está fazendo tudo em banco de dados ou está utilizando alguma linguagem de programação, mas tenta fazer algo como fiz abaixo mysql> set @nota1 = 1; Query OK, 0 rows affected (0.00 sec) mysql> set @nota2 = 3.5; Query OK, 0 rows affected (0.00 sec) mysql> select @nota1 + @nota2; +----------------------------------+ | @nota1 + @nota2 | +----------------------------------+ | 4.500000000000000000000000000000 | +----------------------------------+ 1 row in set (0.01 sec) Compartilhar este post Link para o post Compartilhar em outros sites
levito 0 Denunciar post Postado Abril 19, 2011 Não consegui compreender bem ao certo qual a lógica que tu está usando, e se você está fazendo tudo em banco de dados ou está utilizando alguma linguagem de programação, mas tenta fazer algo como fiz abaixo mysql> set @nota1 = 1; Query OK, 0 rows affected (0.00 sec) mysql> set @nota2 = 3.5; Query OK, 0 rows affected (0.00 sec) mysql> select @nota1 + @nota2; +----------------------------------+ | @nota1 + @nota2 | +----------------------------------+ | 4.500000000000000000000000000000 | +----------------------------------+ 1 row in set (0.01 sec) ok, obrigado Marcelo ainda não é bem isso ai, desculpa pela enrolacera :D mas vou fazer mais umas buscas, ou algum jeito de contornar o meu problema. Obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
marceloaltmann 0 Denunciar post Postado Abril 19, 2011 heheehe, qualquer coisa me add no msn, que agente acha a solução pro teu problema depois postamos aqui. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 19, 2011 Talvez fazendo por macro substituição pelo php1, veja isto. 1- Nem sei se faz... Compartilhar este post Link para o post Compartilhar em outros sites
levito 0 Denunciar post Postado Abril 20, 2011 Talvez fazendo por macro substituição pelo php1, veja isto. 1- Nem sei se faz... Bom dia Motta, mas o problema é que essa função é toda no banco onde eu faço um tratamento de uma fórmula de calculo de média, e ao final das substituições ela me retorna '2+3.5', ou seja uma string e no RETURN da função eu preciso desse valor calculado, mas como ela está em string não estou conseguindo fazer o calculo dela. o que eu pensei é criar um prepare adicionando um select na string ficando da seguinte maneira: 'SELECT 2+3.5 FROM dual' com isso eu iria executar esse PREPARE, mas... como nada é perfeito, Function no MySQL não aceita utilizar o PREPARE Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 20, 2011 A questão é pelo que sei o MySql não tem algo como macro Substituição para executar um pedaco de código, pelo MySQl acho que não tem solução automática. Talvez fazer uma rotina que desmonte a tring a faça a operação matemática da fórmula, mas isto dará trabalho. Compartilhar este post Link para o post Compartilhar em outros sites
levito 0 Denunciar post Postado Abril 20, 2011 A questão é pelo que sei o MySql não tem algo como macro Substituição para executar um pedaco de código, pelo MySQl acho que não tem solução automática. Talvez fazer uma rotina que desmonte a tring a faça a operação matemática da fórmula, mas isto dará trabalho. poisé... mas beleza, vou dar um jeito aqui to quase criando um plugin pro MySQL em java, pra fazer umas operações loucas aqui :D hehe vlw, abraços... aaa, se você souber de algo sobre plugin para mysql e podesse me mandar, eu agradeceria ;D Compartilhar este post Link para o post Compartilhar em outros sites