Na declaração do tipo de dados float, você pode colocar um valor explicito como não, lembrando das seguintes regras:

Campo float [N]; Onde N é o numero de bits;

nvalue precision Tamanho de armazenamento
1-24 7 dígitos 4 bytes
25-53 15 dígitos 8 bytes

Site MSDN:  https://msdn.microsoft.com/pt-br/library/ms173773(v=sql.120).aspx

Abaixo um exemplo simples:

create table tabelafloat (tipocampo float(24))

Nesse caso se você tentar inserir mais que 7 dígitos o valor inserido a mais não vai aparecer conforme exemplo abaixo:

insert into tabelafloat values (789.123456)
select * from tabelafloat

O resultado será:

tipocampo
————-
789,1235

Ou seja o número 6 foi cortado fora e juntamente com ele o numero 4, não sei ainda dizer o por que, caso alguém saiba conte para nós.

O numero máximo N caso não seja definido será 53, conforme a tabela acima, esse corresponde a uma precisão de até 15 dígitos.

O Exemplo a seguir deixara o numero 4 de fora:

insert into tabelafloat values (567.1234567891234)

select * from tabelafloat

O resultado será:

tipocampo
———————-
567,123456789123

Retornando os 15 dígitos.

*Teste realizado nas versões SQL Server 2008 R2 e 2012.

Fica ai mais um aprendizado.

Abraços

 

 

 

Anúncios