1
resposta

Float ou Numeric

Bom dia, na aula 3 de SQL Server nos é proposto para criar uma tabela para receber as seguintes informações: Nome da tabela deve ser TABELA DE VENDEDORES O campo matrícula do vendedor (nome do campo MATRICULA), deve ser uma string de 5 posições. O nome do vendedor (nome do campo NOME) deve ser uma string de 100 posições. Percentual de comissão (nome do campo PERCENTUAL COMISSÃO) representa o percentual de comissão que o vendedor ganha sobre cada venda.

No campo "opinião do instrutor foi proposto a seguinte linha de códigos:

CREATE TABLE [TABELA DE VENDEDORES] ( [MATRICULA] varchar(5), [NOME] varchar(100), [PERCENTUAL COMISSÃO] float)

Porém, em vez de usar o tipo float para o Campo [PERCENTUAL COMISSÃO] eu usei Numeric (4), já que toda porcentagem é um numero decimal menor que 1 (e costumamos usar até 2 casas na forma de porcetagem, como 22,37%, 58,53%, etc). Porque usar Float em vez de Numeric? Isso pode gerar algum erro no relatório futuramente?

1 resposta

Olá André, tudo bem?

Em relação aos estudos, você não terá problema ao utilizar um ou outro, mas ao trabalhar com dados financeiros , como saldos de contas, devem ser armazenados como tipos de dados NUMÉRICOS ou DECIMAIS, pois esses tipos de dados têm uma precisão mais exata.

Abaixo, apresento a diferença entre o FLOAT e o NUMERIC.

  • NUMERIC é um tipo de dado numérico que têm precisão e escala fixas:
NUMERIC(precisão,escala)

A precisão indica o total máximo de números que podem ser armazenados e a escala indica o total máximo de números que podem ser armazenados após a vírgula.

  • FLOAT é um tipo de dados de número aproximado para uso com dados numéricos de ponto flutuante
FLOAT

Ou seja, você não precisa especificar uma precisão ou escala.

Você poderia utilizar realmente qualquer um dos dois, mas ao utilizar o NUMERIC, você teria que informar o valor máximo que aquele campo poderia receber, já ao utilizar o FLOAT, você não precisa.

A título de curiosidade, caso você queira saber mais do assunto, recomendo esses dois links da documentação que abordam sobre NUMERIC e o FLOAT.

Qualquer nova dúvida é só falar e bons estudos!