Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Milissegundos em minhas alterações de DateTime quando armazenados no SQL Server


Isso realmente depende da versão do servidor SQL que você está usando.

A resolução do campo de data e hora é de 3 casas decimais:Por exemplo:2011-06-06 23:59:59.997 e tem uma precisão de apenas 3,33 ms.

No seu caso, 09:30:03.0196095 está sendo arredondado para 09:30:03.020 no armazenamento.

A partir do SQL 2008, outros tipos de dados foram adicionados para fornecer mais detalhes, como datetime2, que tem até 7 casas decimais e tem precisão de 100 ns.

Consulte o seguinte para obter mais informações:

http://karaszi.com/the-ultimate-guide-to-the-datetime-datatypes

Acho que sua melhor aposta é fornecer o arredondamento para o segundo ANTES de armazená-lo no SQL Server se os milissegundos não forem importantes.