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