Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos!
Tenho uma tabela MYSQL com os campos COD e ENTRADA , o que estou tentando fazer é a multiplicação dos valores do campo ENTRADA.
COD ENTRADA
1 1.85
2 1.43
3 2.54
4 1.05
Sendo a multiplicação: 1.85 1.43 2.54 * 1.05 = 7.05
Assim como existe o COUNT para contar registros e o SUM para somar, não encontrei nenhum método para esta multiplicação, estou trabalhando em ASP/MYSQL.
Aguardo uma ajuda e grande abraço a todos!
>
1 hora atrás, Motta disse:
Select power(sum(log10(entrada)),10)
From tabela
Baseado na [propriedade dos logaritmos](https://www.tutorbrasil.com.br/aulas-de-matematica/logaritmos/propriedades-operatorias-logaritmos/)
Obrigado pelo retorno Motta!
Vou passar a linha de comando para verificação, retornou um erro, o campo "ENTRADA" está como varchar.
Set rs = banco.execute("SELECT power(sum(log10(entrada)),10 as rs FROM tbentradas")
Microsoft OLE DB Provider for ODBC Drivers erro '80040e14'
[MySQL][ODBC 5.2(a) Driver][mysqld-6.0.0-alpha-community-nt-debug]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tbentradas' at line 1https://stackoverflow.com/questions/13245346/how-to-convert-string-into-a-decimal
Converte o campo.
É sempre bom manter os tipos corretos simplifica as SQLs.
>
8 minutos atrás, Motta disse:
https://stackoverflow.com/questions/13245346/how-to-convert-string-into-a-decimal
Converte o campo.
É sempre bom manter os tipos corretos simplifica as SQLs.
Alterei o campo para decimal(10,2) e coloquei os valores (que são poucos) no padrão 0.00..... porem o mesmo erro permanece.
Set rs = banco.execute("SELECT power(sum(log10(entrada)),10) as rs FROM tbentradas")
>
8 minutos atrás, Motta disse:
Set rs = banco.execute("SELECT power(sum(log10(entrada)),10) as rs FROM tbentradas")
Peço desculpas pela falta de atenção no fechamento do "parênteses". Rodou com o resultado de 0,19349779276248 o que será que preciso fazer para acertar este resultado que deverá ser de 7.05RESOLVIDO
Muito obrigado Motta, segue abaixo como ficou a linha do select e espero que possa ajudar novos membros:
Set rs = banco.execute("SELECT power(10.00,sum(log10(entrada))) as rs FROM tbentradas ")
response.Write formatnumber(rs ("rs"),2)A ordem do POWER ...