Todos os produtos
Search
Central de documentação

Hologres:Mathematical functions

Última atualização: Aug 03, 2026

O Hologres oferece suporte às funções matemáticas listadas abaixo. Para funções não mencionadas aqui, consulte a seção Mathematical Functions and Operators na documentação do PostgreSQL 11.

Nota

Os exemplos de saída neste tópico usam a precisão de exibição padrão do cliente psql (extra_float_digits = 0). A quantidade de dígitos exibidos para resultados de ponto flutuante varia conforme a configuração extra_float_digits do cliente, mas os valores subjacentes permanecem idênticos.

Funções matemáticas comuns

Função

Descrição

ABS

Retorna o valor absoluto de um número.

CBRT

Retorna a raiz cúbica de um número.

CEIL

Arredonda um número para cima até o inteiro mais próximo. Alias de CEILING.

CEILING

Arredonda um número para cima até o inteiro mais próximo. Alias de CEIL.

DEGREES

Converte radianos em graus.

EXP

Retorna e elevado à potência de um número (e^num).

FLOOR

Arredonda um número para baixo até o inteiro mais próximo.

LN

Retorna o logaritmo natural de um número.

LOG

Retorna o logaritmo na base 10 de um número.

MOD

Retorna o resto da divisão de um número por outro.

PI

Retorna o valor de π (3,14159265358979).

POWER

Eleva a à potência de b.

RADIANS

Converte graus em radianos.

RANDOM

Retorna um número aleatório no intervalo [0,0, 1,0).

ROUND

Arredonda um número para o inteiro mais próximo ou para uma quantidade específica de casas decimais.

SIGN

Retorna o sinal de um número: 1, -1 ou 0.

SQRT

Retorna a raiz quadrada de um número.

TRUNC

Trunca um número para inteiro ou para uma quantidade definida de casas decimais.

WIDTH_BUCKET

Atribui um valor a buckets de largura igual e retorna o número do bucket correspondente.

Funções trigonométricas

Função

Descrição

ACOS

Retorna o arco cosseno de um número.

ASIN

Retorna o arco seno de um número.

ATAN

Retorna a arco tangente de um número.

ATAN2

Retorna a arco tangente de y/x.

COS

Retorna o cosseno de um número.

COT

Retorna a cotangente de um número.

SIN

Retorna o seno de um número.

TAN

Retorna a tangente de um número.

ABS

Retorna o valor absoluto de um número.

Sintaxe

ABS(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

INT, BIGINT, REAL, DOUBLE PRECISION, NUMERIC ou DECIMAL

O número de entrada.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT ABS(-17.4);
 abs
-----
 17.4

CBRT

Retorna a raiz cúbica de um número.

Sintaxe

CBRT(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O número de entrada.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT CBRT(9);
      cbrt
-----------------
 2.0800838230519

CEIL

Arredonda um número para cima até o inteiro mais próximo. CEIL é um alias de CEILING.

Sintaxe

CEIL(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O número de entrada.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT CEIL(9.2);
 ceil
------
   10

Veja também

CEILING, FLOOR, ROUND, TRUNC

CEILING

Arredonda um número para cima até o inteiro mais próximo. CEILING é um alias de CEIL.

Sintaxe

CEILING(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O número de entrada.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT CEILING(9.2);
 ceiling
---------
      10

Veja também

CEIL, FLOOR, ROUND, TRUNC

DEGREES

Converte um valor em radianos para graus.

Sintaxe

DEGREES(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O valor de entrada em radianos.

Valor de retorno

Retorna um valor DOUBLE PRECISION que representa o ângulo equivalente em graus.

Exemplo

SELECT DEGREES(3.2);
      degrees
--------------
 183.34649444186343

Veja também

RADIANS

EXP

Retorna e elevado à potência de num (e^num).

Sintaxe

EXP(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O expoente.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT EXP(1);
             exp
----------------
 2.718281828459045

FLOOR

Arredonda um número para baixo até o inteiro mais próximo.

Sintaxe

FLOOR(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O número de entrada.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT FLOOR(3.8);
 floor
------
     3

Veja também

CEIL, CEILING, ROUND, TRUNC

LN

Retorna o logaritmo natural de um número.

Sintaxe

LN(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O número de entrada.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT LN(3.8);
            ln
----------------
 1.3350010667323401

LOG

Retorna o logaritmo na base 10 de um número.

Sintaxe

LOG(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O número de entrada.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT LOG(100);
 log
-----
   2

MOD

Retorna o resto da divisão de num por x.

Sintaxe

MOD(num, x)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

NUMERIC

O dividendo.

x

Sim

NUMERIC

O divisor.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT MOD(9, 4);
 mod
-----
   1

PI

Retorna o valor de π.

Sintaxe

PI()

Valor de retorno

Retorna o valor DOUBLE PRECISION 3.14159265358979.

Exemplo

SELECT PI();
        pi
------------------
 3.14159265358979

POWER

Eleva a à potência de b.

Sintaxe

POWER(a, b)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

a

Sim

DOUBLE PRECISION

A base.

b

Sim

DOUBLE PRECISION

O expoente.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT POWER(9, 3);
 power
-------
   729

RADIANS

Converte um valor em graus para radianos.

Sintaxe

RADIANS(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O valor de entrada em graus.

Valor de retorno

Retorna um valor DOUBLE PRECISION que representa o ângulo equivalente em radianos.

Exemplo

SELECT RADIANS(45);
       radians
-------------------
 0.785398163397448

Veja também

DEGREES

RANDOM

Retorna um valor DOUBLE PRECISION aleatório no intervalo [0,0, 1,0).

Sintaxe

RANDOM()

Valor de retorno

Retorna um valor DOUBLE PRECISION. Valores válidos: [0.0, 1.0).

Exemplo

SELECT RANDOM();
      random
-------------------
 0.377819478977472

ROUND

Arredonda um número para o inteiro mais próximo ou para uma quantidade específica de casas decimais.

Sintaxe

-- Round to the nearest integer
ROUND(num)

-- Round to s decimal places
ROUND(num, s)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC (forma com um argumento); apenas NUMERIC (forma com dois argumentos)

O número de entrada.

s

Não

INT

A quantidade de casas decimais para arredondamento.

Valor de retorno

Retorna um valor do mesmo tipo de num.

Exemplo

SELECT ROUND(42.4);
 round
-------
    42

Veja também

CEIL, CEILING, FLOOR, TRUNC

SIGN

Retorna o sinal de um número: 1 se positivo, -1 se negativo ou 0 se zero.

Sintaxe

SIGN(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O número de entrada.

Valor de retorno

Retorna 1, -1 ou 0.

Exemplo

SELECT SIGN(-8.4);
 sign
------
   -1

SQRT

Retorna a raiz quadrada de um número.

Sintaxe

SQRT(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION ou NUMERIC

O número de entrada.

Valor de retorno

Retorna um valor do mesmo tipo da entrada.

Exemplo

SELECT SQRT(2);
      sqrt
-----------------
 1.4142135623731

TRUNC

Trunca um número em direção a zero, descartando os dígitos fracionários.

Sintaxe

-- Truncate to an integer
TRUNC(num)

-- Truncate to s decimal places
TRUNC(num, s)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

NUMERIC

O número de entrada.

s

Não

INT

A quantidade de casas decimais a manter.

Valor de retorno

Retorna um valor NUMERIC.

Exemplo

SELECT TRUNC(2.456);
 trunc
-------
     2
SELECT TRUNC(2.4564, 2);
 trunc
-------
  2.45

Veja também

CEIL, CEILING, FLOOR, ROUND

WIDTH_BUCKET

Divide um intervalo em buckets de largura igual e retorna o número do bucket onde um valor se enquadra.

Sintaxe

WIDTH_BUCKET(value, start, end, num_buckets)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

value

Sim

DOUBLE PRECISION ou NUMERIC

O valor a ser atribuído a um bucket.

start

Sim

DOUBLE PRECISION ou NUMERIC

O limite inferior do intervalo.

end

Sim

DOUBLE PRECISION ou NUMERIC

O limite superior do intervalo.

num_buckets

Sim

INT

A quantidade de buckets de largura igual a criar.

Valor de retorno

Retorna um valor INT.

Exemplo

O exemplo a seguir divide o intervalo de 0 a 100 em 5 buckets iguais (0–20, 20–40, 40–60, 60–80, 80–100) e retorna o número do bucket para o valor 45.

SELECT WIDTH_BUCKET(45, 0, 100, 5);
 width_bucket
--------------
            3

O valor 45 está no bucket 3 (intervalo de 40 a 60).

ACOS

Retorna o arco cosseno de num.

Sintaxe

ACOS(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

NUMERIC

O valor de entrada. Valores válidos: [-1, 1].

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT ACOS(-1);
       acos
------------------
 3.14159265358979

Veja também

ASIN, ATAN, ATAN2, COS

ASIN

Retorna o arco seno de num.

Sintaxe

ASIN(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O valor de entrada. Valores válidos: [-1, 1].

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT ASIN(-1);
       asin
------------------
 -1.5707963267949

Veja também

ACOS, ATAN, ATAN2, SIN

ATAN

Retorna a arco tangente de num.

Sintaxe

ATAN(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O valor de entrada.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT ATAN(2);
       atan
------------------
 1.10714871779409

Veja também

ACOS, ASIN, ATAN2, TAN

ATAN2

Retorna a arco tangente de y/x, usando os sinais de ambos os argumentos para determinar o quadrante correto.

Sintaxe

ATAN2(y, x)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

y

Sim

DOUBLE PRECISION

A coordenada y.

x

Sim

DOUBLE PRECISION

A coordenada x.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT ATAN2(4, 2);
      atan2
------------------
 1.10714871779409

Veja também

ATAN

COS

Retorna o cosseno de num (entrada em radianos).

Sintaxe

COS(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O ângulo de entrada em radianos.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT COS(2);
        cos
--------------------
 -0.416146836547142

Veja também

ACOS, SIN, TAN

COT

Retorna a cotangente de num (entrada em radianos).

Sintaxe

COT(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O ângulo de entrada em radianos.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT COT(2);
        cot
--------------------
 -0.457657554360286

Veja também

TAN

SIN

Retorna o seno de num (entrada em radianos).

Sintaxe

SIN(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O ângulo de entrada em radianos.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT SIN(2);
        sin
-------------------
 0.909297426825682

Veja também

ASIN, COS, TAN

TAN

Retorna a tangente de num (entrada em radianos).

Sintaxe

TAN(num)

Parâmetros

Parâmetro

Obrigatório

Tipo

Descrição

num

Sim

DOUBLE PRECISION

O ângulo de entrada em radianos.

Valor de retorno

Retorna um valor DOUBLE PRECISION.

Exemplo

SELECT TAN(2);
        tan
-------------------
 -2.18503986326152

Veja também

ATAN, ATAN2, COT, SIN, COS