Tipo Numérico

No PostgreSQL, o tipo de dados NUMERIC é usado para armazenar números de precisão arbitrária. Isso significa que ele pode armazenar números com uma quantidade arbitrária de dígitos na parte inteira e na parte decimal. O tipo NUMERIC é útil quando você precisa de alta precisão em cálculos que envolvem números decimais, como operações financeiras.

Aqui está a sintaxe básica para definir uma coluna NUMERIC em uma tabela:

CREATE TABLE nome_da_tabela (
    nome_da_coluna NUMERIC(precision, scale)
);
  • precision representa o número total de dígitos que podem ser armazenados na coluna (incluindo dígitos à esquerda e à direita do ponto decimal).
  • scale representa o número de dígitos que podem ser armazenados à direita do ponto decimal.

Por exemplo, para criar uma tabela chamada contas com uma coluna saldo que pode armazenar números com até 10 dígitos no total, dos quais até 2 dígitos podem ser após o ponto decimal, você faria o seguinte:

CREATE TABLE contas (
    id SERIAL PRIMARY KEY,
    saldo NUMERIC(10, 2)
);

Neste exemplo, 10 é a precisão total e 2 é a escala (número de dígitos após o ponto decimal).

Ao inserir valores em uma coluna NUMERIC, você deve garantir que o valor tenha uma precisão compatível com a definição da coluna. Por exemplo:

INSERT INTO contas (saldo) VALUES (12345.67);

Neste exemplo, 12345.67 é válido porque tem uma precisão de 8 (incluindo o ponto decimal), que está dentro da precisão de 10,2.

Lembre-se de que o tipo de dados NUMERIC é muito útil quando você precisa de alta precisão em seus cálculos, mas também pode ocupar mais espaço de armazenamento em comparação com tipos de dados de ponto flutuante como REAL e DOUBLE PRECISION.