Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

T-sql, tick, timestamp

È improbabile che tu possa ottenere lo stesso tipo di accuratezza da SQL di DateTime.Ticks poiché SQL non esprime il tempo con tanta precisione. SQL Server archivia solo il tempo a circa 1/300 di secondo, mentre un singolo tick rappresenta cento nanosecondi o un decimilionesimo di secondo.

SELECT DATEDIFF(s, '19700101', GETDATE()) 

La query sopra ti darà un timestamp in stile Unix se funziona, ma per dare suggerimenti reali avrei bisogno di sapere per cosa stai usando i dati. Se hai bisogno di una risoluzione maggiore di 3 ms, devi guardare al di fuori di SQL.

               DATETIME: 0.01      (3 ms)
QueryPerformanceCounter: 0.0000001 (100 ns)
              DATETIME2: 0.0000001 (7 decimal places, 100 ns)