2010-12-09 9 views
8

Tengo una tabla donde guardo los correos electrónicos que se han enviado. Decidí agregar un campo TimeStamp a esta tabla para poder seguir cuando se envió el correo electrónico. Los datos se escriben en la tabla sin ningún problema, pero cuando voy a ver los contenidos de la tabla usando Microsoft SQL Server 2008 Management Studio, los datos contenidos en el campo Timestamp se muestran así: 0x000000000000000000845, incluso en registros que se han escrito a la base de datos desde que se introdujo el valor TimestampValores en el campo Marca de tiempo mostrados en hexadecimal (0x000000000000000866) En Microsoft SQL Server 2008

Luego cambié el tipo de campo a datetime, y luego se muestra una fecha. Pero muestra la fecha 1900-01-01 00:00:23 por ejemplo. Luego lo cambié al campo Timestamp, y regresó a su formato hexadecimal actual.

¿Estoy haciendo algo mal?

Saludos

Respuesta

14

me decidieron a continuación, añadir un campo de marca de a esta tabla para que pueda realizar un seguimiento de cuando el correo electrónico se ha enviado

Ah, sí. La lectura de la base de datos le habría mostrado que el campo TMIestamp, que es un legado del servidor Sybase, NO almacena una marca de tiempo. Básicamente es algo así como un contador de operaciones globales. No tiene relación con el tiempo.

Si desea una marca de tiempo real, coloque un tipo de columna DateTime y establezca la hora del sistema como predeterminado/a través de atrigger, etc. La marca de tiempo es totalmente inadecuada para eso.

Una vez más, nada de MS: el servidor MS SQL se inició como el puerto Sybase SQL Server para Windows, y el tipo Timestampdata es un legado de Sybase.

+0

Hola gracias por eso. Funciona un placer! :) – mickburkejnr

+3

Y el tipo de datos 'timestamp' ha quedado obsoleto a favor de' rowversion', que de hecho es una descripción mucho mejor de lo que realmente es –

+0

Es bueno saber que todo comenzó con sybase SQL Server. Nombrar es en realidad una de las cosas más difíciles en informática. Este es un muy buen ejemplo donde timestamp no tiene nada que ver con la fecha y la hora :) – RBT

Cuestiones relacionadas