Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

levito

Soma matematica dentro de uma string

Recommended Posts

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.