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