¿Cuál es la estructura de datos subyacente de los valores de fecha y hora almacenados en SQL Server (2000 y 2005 si es diferente)? Es decir, hasta la representación de bytes?¿Cuál es la representación interna de datetime en el servidor sql?
Presumiblemente, la representación predeterminada que obtiene cuando selecciona una columna de fecha y hora es un valor cultural específico/sujeto a cambios. Es decir, alguna estructura subyacente que no vemos está formateada en YYYY-MM-DD HH: MM: SS.mmm.
Motivo que pido es que haya una opinión general en mi departamento de que está almacenada en la memoria literalmente como AAAA-MM-DD HH: MM: SS.mmm, pero estoy seguro de que este no es el caso.
Eso no es correcto. Del artículo vinculado: en realidad, SQL Server almacena allí los tic-tac desde la medianoche. Cada tic-reloj equivale a 3.33 milisegundos. Esa es también la razón por la cual el tipo de datos DATETIME tiene una precisión de una centésima de segundo. Esto, nuevamente, está correctamente indicado en BOL. – ctusch
@ctusch, he actualizado la respuesta (¡después de casi 7 años!) Para corregir el tamaño de los "tics". –
Curiosamente, la documentación de SQL Server utiliza el término "precisión". * Debería * decir "precisión". –