Osvaldo,

Obrigado pela dica.

Abcs,

Att.
Carlos Adean
skype: carlosadean


Em 22 de fevereiro de 2013 13:44, Carlos Adean <[email protected]> escreveu:
>
> Caros,
>
> Criei uma função que, dada uma determinada condição, realiza um pequeno 
> cálculo. Ao criá-la especifiquei que o return seria float, contudo, ao 
> executar \df <função> sua saída exibe que o tipo de retorno e de argumento é 
> double precision. Outra coisa que me incomoda está no retorno dos valores 
> após a conversão, apresentam 13 algarismos após a vírgula. É possível limitar 
> isso ou fazer um arredondamento diretamente na função?
>
> CREATE FUNCTION remap_ra(ra float) RETURNS float AS $$
> DECLARE
> ra ALIAS FOR $1;
> BEGIN
> IF ra > 180
> THEN
> ra = ra - 360;
> RETURN ra;
> ELSE
> RETURN ra;
> END IF;
> END;
> $$
> LANGUAGE plpgsql;
>
> banco=# \df remap_ra
> List of functions
> Schema | Name | Result data type | Argument data types | Type
> --------+----------+------------------+---------------------+--------
> public | remap_ra | double precision | ra double precision | normal
> (1 row)
>
> dados originais sem aplicar a função:
> ra
> ---------
> 315.002
> 315.002
> 315.005
> 315.004
> 315.013
> (5 rows)
>
>
> aplicando a função:
> ra
> -------------------
> -44.9983520507812
> -44.9976806640625
> -44.9952087402344
> -44.9958190917969
> -44.9869689941406
> (5 rows)
>
> Abcs
>
> Att.
> Carlos Adean
> skype: carlosadean
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a