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 psqlUso 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 (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);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 (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);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 (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);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.