sql >> Databasteknik >  >> RDS >> Sqlserver

Millisekunder i min DateTime ändras när den lagras i SQL Server

Detta beror verkligen på vilken version av SQL-servern du använder.

Upplösningen för datum och tid är 3 decimaler:Till exempel:2011-06-06 23:59:59.997 och är endast exakt till inom 3,33 ms.

I ditt fall, 09:30:03.0196095 avrundas uppåt till 09:30:03.020 på lagring.

Från och med SQL 2008 lades andra datatyper till för att ge mer detaljer, till exempel datetime2 som har upp till 7 decimaler och är korrekt till inom 100 ns.

Se följande för mer information:

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

Jag tror att din bästa insats är att tillhandahålla avrundningen till tvåan FÖRE du lagrar den i SQL-servern om millisekunderna är oviktiga.



  1. Ta med ditt eget moln tillgängligt för DigitalOcean

  2. SQL WHERE Flera villkor

  3. Hur man tar bort efterföljande nollor från en decimal i PostgreSQL

  4. Hur gör man den rekursiva SELECT-frågan i MySQL?