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
.