Pregunta

¿Qué es el subyacente estructura de datos de los valores de fecha y hora almacenados en SQL Server (2000 y 2005 si es diferente)? Es decir, a la representación de bytes?

Es de suponer que la representación por defecto se obtiene cuando se selecciona una columna de fecha y hora es un valor específico cultura / sujetas a cambios. Es decir, alguna estructura subyacente que no vemos se está formateado para AAAA-MM-DD HH: MM:. SS.mmm

La razón que pido es que hay una opinión generalizada en mi departamento que se almacena en la memoria literalmente como AAAA-MM-DD HH: MM: SS.mmm, pero estoy seguro de que este no es el caso

¿Fue útil?

Solución

Es almacenado como un campo de 8 bytes, capaz de un rango de 01.01.1753 través 9999-12-31, precisa a 0.00333 segundos.

Los detalles son supuestamente opaco, pero la mayoría de los recursos (1) , (2) que he encontrado sobre el estado web lo siguiente:

  

Los primeros 4 bytes almacenan el número de días transcurridos desde la época de SQL Server (1er Ene 1900) y que los segundos 4 bytes almacena el número de garrapatas después de la medianoche, donde un "tick" es de 3,3 milisegundos.

Los primeros cuatro bytes se firman (puede ser positivo o negativo), lo que explica por qué fechas anteriores a la época puede ser representado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top