calculo envolvendo numero decimais

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
Joao Moraes
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 44
Registrado em: Qua, 04 Jan 2006 9:12 am
Localização: Botucatu - SP
Contato:

ola amigos, esto com um enorem problema, será que alguém pode me ajudar?
lá vai:

estou precisando fazaer o seguinte calculo
pra= power(e,b), até ai tudo bem o problema é que b e um numero decimal, e não inteiro como exige a formula power

ex: pra= 2,7183^0,225

alguém poderia me dar uma dica


abração!

Joao moraes
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Não tem problema. Funciona perfeitamente.

Selecionar tudo

SQL> select power( 2.7183 , 0.225 ) from dual;

POWER(2.7183,0.225)
-------------------
          1.2523246

SQL> 
Joao Moraes
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 44
Registrado em: Qua, 04 Jan 2006 9:12 am
Localização: Botucatu - SP
Contato:

fico muito grato pela resposta, só me esqueci de uma coizinha, eu trabalho com o report 1.1, e esse calculo que mencionei e feito em uma procedure e no manual do report 1.1 diz que o expoente tem que ser inteiro.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Então porque você não cria uma função de BANCO pra fazer esse trabalho de potência ?

Tipo, cria uma função POTENCIA que recebe os 2 parâmetros e retorna o POWER( par1, par2 );

Com isso, você passa pro BANCO essa tarefa, que provavelmente tem uma versão de PL/SQL bem maior... (ou seja, no banco a função funcionará)

:-o
Joao Moraes
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 44
Registrado em: Qua, 04 Jan 2006 9:12 am
Localização: Botucatu - SP
Contato:

sem quere abusar da sua boa vontade, você poderia me dar um exemplo de como criar uma funcao de banco. So pra saber, o meu banco esta instalado em uma maquina risc o SO é hp-ux e o banco é 9i.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eis a função

Selecionar tudo

CREATE OR REPLACE FUNCTION potencia (P1 NUMBER, P2 NUMBER)
RETURN NUMBER
IS
BEGIN
  RETURN POWER (P1, P2);
END;
/
Aí vai o teste

Selecionar tudo

SQL> CREATE OR REPLACE FUNCTION potencia (P1 NUMBER, P2 NUMBER)
  2  RETURN NUMBER
  3  IS
  4  BEGIN
  5    RETURN POWER (P1, P2);
  6  END;
  7  /

Function created

SQL> SELECT potencia (2,3) from dual;

POTENCIA(2,3)
-------------
            8

SQL> 
Joao Moraes
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 44
Registrado em: Qua, 04 Jan 2006 9:12 am
Localização: Botucatu - SP
Contato:

sem quere abusar da sua boa vontade, você poderia me dar um exemplo de como criar uma funcao de banco. So pra saber, o meu banco esta instalado em uma maquina risc o SO é hp-ux e o banco é 9i.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes