[firebase-br] Operadores aritmeticos

Luciano Carneiro luciano em praticsistemas.com.br
Seg Out 18 16:39:54 -03 2004


Faça seu próprio amigo...

CREATE PROCEDURE DIV (
    WRAD INTEGER,
    WDIV INTEGER)
RETURNS (
    R_DIV INTEGER)
AS
DECLARE VARIABLE T INTEGER;
begin
R_DIV = :WRAD / :WDIV;
suspend;

end

-------------------------------------

CREATE PROCEDURE MOD (
    WRAD INTEGER,
    WDIV INTEGER)
RETURNS (
    R_MOD INTEGER)
AS
DECLARE VARIABLE T INTEGER;
begin
R_MOD = :WRAD - ((:WRAD / :WDIV) * :WDIV);
suspend;

end

Se precisar de algo mais é só pedir


Luciano C Santos
----- Original Message ----- 
From: "Daniel / Tecnobyte" <temp em tecnobyte.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, October 18, 2004 3:39 PM
Subject: Re: [firebase-br] Operadores aritmeticos


> Gostaria de um ajuda de vc's. Tenho pouco tempo trabalhando com Firebird,
e
> ainda tenho algumas dificuldades. Gostaria de saber se existe operador
> aritmetico semelhante ao "mod" e ao "div" que existe no Delphi.

O "mod" do Delphi retorna o resto de uma divisão de inteiros. O "div", por
outro lado, retorna o resultado da divisão de inteiros. Logo é possível
fazer ambos usando um CAST, como mostra o exemplo:

SELECT
  CAST(10/3 AS INTEGER) AS Resultado_10_div_3,
  10 - CAST(10/3 AS INTEGER) * 3 AS Resultado_10_mod_3
FROM RDB$DATABASE

> Outro dúvida se existe estrutura semelhante a "CASE" no Firebird.

A partir do FB 1.5 já existe o suporte ao CASE.

Atenciosamente.

Daniel P. Guimarães
Tecnobyte informática



______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br






Mais detalhes sobre a lista de discussão lista