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
