Você está aqui: Firebird ::: Dicas & Truques ::: Tipos de Dados |
Aprenda a usar os tipos de dados DECIMAL e NUMERIC do FirebirdQuantidade de visualizações: 18596 vezes |
Os tipos de ponto-fixo (decimais fixos) tais como DECIMAL e NUMERIC permitem o gerenciamento de números que devem ser expressos com uma parte fracionária exatamente igual ao número de casas decimais (ou escala) especificado. Geralmente precisamos de tipos de escala fixa quando estamos lidando com valores monetários ou números que resultam de contagem ou cálculos envolvendo unidades inteiras e partes de unidades. Nesta dica mostrarei como usar estes dois tipos em campos de tabelas do Firebird e a diferença entre os dois. Veja um comando SQL DDL CREATE TABLE que cria uma tabela contendo um campo do tipo NUMERIC: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- CREATE TABLE PRODUTOS ( ID INTEGER NOT NULL, ...... Nesta tabela o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e PRECO é do tipo NUMERIC(5,2). Veja que a definição do tipo NUMERIC é composta de duas partes. O primeiro parâmetro especifica o tamanho do campo, ou seja, a quantidade de dígitos permitidos. O segundo parâmetro especifica a quantidade de casas decimais. Assim, os valores armazenados neste campo não poderão ter mais que duas casas decimais. Observe três comandos SQL DML INSERT INTO que inserem registros nesta tabela: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- INSERT INTO PRODUTOS VALUES(12, 'AÇUCAR DIAMANTE', 234.54); ...... Ao listar os dados da tabela teremos o seguinte resultado: ID NOME PRECO 12 AÇUCAR DIAMANTE 234,54 13 DOCE DE LEITE 234,55 No segundo registro o valor 234.547 é transformado em 234,55, ou seja, como só podemos usar duas casas decimais, houve um arredondamento. O tipo de dados DECIMAL é similar ao tipo NUMERIC. A diferença está na precisão. Em um campo do tipo NUMERIC é exatamente igual à declarada, enquanto o tipo DECIMAL aceita um valor cuja precisão é no mínimo igual à que foi definida até o limite possível. |
![]() |
Veja mais Dicas e truques de Firebird |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |