Ir para conteúdo
Fórum Script Brasil
  • 0

tipo de dado retornado numa função


Carlos Adean

Pergunta

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 Adean
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Float é o apelido de double precision, 8 bytes. Se você quer 4 bytes use real:

http://www.postgresql.org/docs/current/sta...pe-numeric.html

Para arredondar use round():

select round(-44.9958190917969::numeric, 3);
  round  
---------
 -44.996

Note que é necessário fazer um cast para numeric. Altere o tipo da coluna em ra para real.

Editado por Kakao
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...