Tipos de dados monetários pós -gresql

Tipos de dados monetários pós -gresql

O tipo de dados monetário é usado para armazenar dados de moeda na tabela de banco de dados PostGresql. O Tipo de dados de dinheiro do PostGresql é usado para armazenar dados de moeda com precisão fracionária fixa. O IC_MONETARY é usado para determinar a precisão fracionária. O tamanho do tipo de dados do dinheiro é 8 bytes e o intervalo desse tipo de dados é -92233720368547758.08 a +92233720368547758.07. Os tipos de dados inteiros e flutuantes também podem ser usados ​​para armazenar valores de moeda na tabela do banco de dados PostGresql. A saída desse tipo de dados depende do valor da localidade. Diferentes maneiras de definir e usar tipos de dados monetários no banco de dados PostgreSQL foram mostrados neste tutorial.

Pré-requisitos:

Você deve instalar a versão mais recente dos pacotes PostGresql no sistema operacional Linux antes de executar as instruções SQL mostradas neste tutorial. Execute os seguintes comandos para instalar e iniciar o PostgreSQL:

$ sudo apt-get -y install postgresql postgresql-contra
$ sudo SystemCtl Iniciar PostgreSQL.serviço

Execute o seguinte comando para fazer login no PostgreSQL com permissão de raiz:

$ sudo -u postgres psql

Uso do tipo de dados de dinheiro:

Antes de criar qualquer tabela com o tipo de dados booleano, você deve criar um banco de dados PostGresql. Então, execute o seguinte comando para criar um banco de dados chamado 'testdb':

# Criar banco de dados TestDB;

A saída a seguir será exibida após a criação do banco de dados:

Crie uma tabela chamada 'Products_1'No banco de dados atual com três campos. O primeiro nome de campo é Eu ia qual é a chave primária da tabela. O valor desse campo será incrementado automaticamente quando um novo registro será inserido. O segundo nome de campo é Nome e o tipo de dados é Varchar (30). O terceiro nome de campo é o preço e o tipo de dados é DINHEIRO.

# Create Table Products_1 (
Id Id Serial Primary Key,
Nome Varchar (30),
Dinheiro de preço);

A saída a seguir aparecerá se a tabela for criada com sucesso:

Execute as três consultas de inserção a seguir que inserirão três valores diferentes no campo de dados do dinheiro:

# Inserir em produtos_1 (nome, preço) valores ('bolsa', 55);
# Inserir em produtos_1 (nome, preço) valores ('caneta', 2.50);
# Inserir em produtos_1 (nome, preço) valores ('cor de água', 15.895634);

A saída a seguir aparecerá após a execução das consultas acima:

Execute a seguinte consulta selecionada para ler todos os registros do Products_1 mesa:

# Selecione * de Products_1;

A saída a seguir aparecerá após a execução da consulta acima. A saída mostra o símbolo da moeda padrão no campo do tipo de dados de dinheiro.

Uso do tipo de dados numérico:

O tipo de dados numérico é outro tipo de dados para armazenar o valor da moeda na tabela PostGresql. Crie uma tabela chamada 'Products_2'No banco de dados atual com três campos. O primeiro nome de campo é Eu ia qual é a chave primária da tabela. O valor desse campo será incrementado automaticamente quando um novo registro será inserido. O segundo nome de campo é Nome e o tipo de dados é Varchar (30). O terceiro nome de campo é o preço e o tipo de dados é Numérico (5, 3).

# Create Table Products_2 (
Id Id Serial Primary Key,
Nome Varchar (30),
Preço numérico (5, 3));

A saída a seguir aparecerá se a tabela for criada com sucesso:

Execute as seguintes consultas de inserção que inserirão dois registros no Products_2 mesa:

# Inserir em produtos_2 (nome, preço) valores ('lápis', 2.999);
# Inserir em produtos_2 (nome, preço) valores ('lápis de cor', 10.999999);

A saída a seguir aparecerá após a execução das consultas acima:

O tipo de dados numérico gera um erro se o valor exceder o valor de precisão do tipo de dados. A consulta de inserção a seguir gerará um erro:

# Inserir em produtos_2 (nome, preço) valores ('scanner', 1000.999999);

A saída a seguir mostra o erro gerado pelo campo numérico:

Qualquer símbolo de moeda pode ser adicionado antes do valor do campo numérico na consulta selecionada. Portanto, é melhor usar o tipo de dados numéricos do que o tipo de dados do dinheiro para armazenar dados de moeda. Execute a seguinte consulta selecionada que lerá todos os valores do Products_2 tabela adicionando '$' antes do preço campo:

# Selecione ID, nome, '$' || Preço como preço de produtos_2;

A saída a seguir aparecerá após a execução da consulta acima:

Uso do tipo de dados float:

O tipo de dados float é outra opção para armazenar dados de moeda. Mas o tipo de dados float não é recomendado para esse fim, porque os valores são armazenados como uma aproximação nesse tipo de dados. O uso desse tipo de dados foi mostrado aqui para armazenar o valor da moeda.

Crie uma tabela chamada 'Products_3' no banco de dados atual com três campos. O primeiro nome de campo é Eu ia qual é a chave primária da tabela. O valor desse campo será incrementado automaticamente quando um novo registro será inserido. O segundo nome de campo é Nome e o tipo de dados é Varchar (30). O terceiro nome de campo é Preço e o tipo de dados é FLUTUADOR.

# Create Table Products_3 (
Id Id Serial Primary Key,
Nome Varchar (30),
Preços flutuante);

A saída a seguir aparecerá se a tabela for criada com sucesso:

Execute as seguintes consultas de inserção que inserirão dois valores no campo do tipo de dados float:

# Inserir em produtos_3 (nome, preço) valores ('hp impressora', 150.99);
# Inserir em produtos_3 (nome, preço) valores ('samsung impressora', 180.4578);
# Inserir em produtos_3 (nome, preço) valores ('Dell Printer', 320.56);

A saída a seguir aparecerá após a execução das consultas acima.

Execute a seguinte consulta selecionada para ler todos os registros do Products_3 mesa:

# Selecione ID, nome, '$' || Preço como preço de produtos_3;

A saída a seguir aparecerá após a execução da consulta acima:

Conclusão:

Os usos de diferentes tipos de dados para armazenar dados de moeda na tabela PostGresql foram mostrados neste tutorial usando várias tabelas. Os tipos de dados de dinheiro, numéricos e flutuantes foram usados ​​para armazenar os dados da moeda e as vantagens e desvantagens de cada tipo de dados foram explicadas aqui.