Caros, Criei uma função que, dada uma derminada condição, realiza um pequeno cálculo. Ao criar a função especifiquei que queria float, contudo, o resultado é um double. 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) Pergunto: 1) Como ajusto a função para que retorne float 2) Consigo cortar esses dados de forma que tenha menos caracteres, por exemplo, -44.995