Pessoal, andei lendo mais e meu resultado mais "estruturado" é o seguinte:

CREATE FUNCTION DivIntToNum(i1 integer, i2 integer)
    RETURNS NUMERIC AS
$BODY$
    SELECT CAST($1 AS NUMERIC) / CAST($2 AS NUMERIC);
$BODY$
    LANGUAGE SQL;

CREATE OPERATOR !/ (
    leftarg = integer,
    rightarg = integer,
    procedure = DivIntToNum,
    commutator = !/
);


O uso do operador de divisão com resultado numeric é simples;

SELECT 1 !/ 10

Aceito Críticas... Obrigado a todos pela boa discursão que tivemos sobre o
assunto!

Em 12 de maio de 2012 23:14, Leandro Guimarães Faria Corcete DUTRA <
[email protected]> escreveu:

> Le 2012-5-12 16h16, Anselmo Silva a écrit :
> > acredito que tem uma razão para isso, que reconheço não saber
>
> Basicamente, é porque a linguagem SQL tem de ter comportamento
> consistente, e respeitar a definição dos tipos dos dados.
>
>        Isso não é uma opção, é parte da definição da linguagem SQL.  O
> PostgreSQL tenta seguir essa definição, que é dada pelo padrão ISO SQL
> mais recente.
>
>
> > em algumas situações não é muito prático
>
> A questão de se é prático deve ser contextualizada.  O SQL é prático se
> os programas forem claros, consistentes, com poucos erros.  O tratamento
> estrito dos tipos de dados facilitam isso.  É um contexto muito
> diferente daquele de uso duma calculadora.
>
>        Outros sistemas fazem as conversões implícitas.  Há pelo menos dois
> problemas com isso.  Um é que cada um faz conversões de determinada
> maneira, inconsistente com os outros.  Outro é que nem sempre o
> programador entende o que o sistema fez implicitamente.  Para evitar
> esses dois problemas é que o padrão ISO SQL exige as conversões
> explícitas.  Se o PostgreSQL as abandonasse, desviar-se-a do padrão,
> tornando o código menos portável, e além disso voltaria a permitir que
> os programadores introduzissem erros por confiarem em comportamentos
> implícitos mal compreendidos.
>
>
> --
> skype:leandro.gfc.dutra?chat      Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (61) 3546 7191              gTalk: xmpp:[email protected]
> +55 (11) 9406 7191        ICQ/AIM: aim:GoIM?screenname=61287803
> BRAZIL GMT-3  MSN: msnim:[email protected]
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Anselmo M. Silva
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a