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
Pergunta
Carlos Adean
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
Editado por Carlos AdeanLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.