2010-05-23 19 views
6

¿Alguien sabe cómo convertir una COLUMNA DATETIME a TICKS en SQL Server?Convertir la fecha en marcas en SQL Server

+0

¿Por qué no hacerlo en el código .NET (donde es fácil)? – Richard

+0

Porque tengo algunos registros en la base de datos y necesito convertirlos con una sola consulta de MSSQL – FinalDestiny

+0

¿Puede darnos más detalles sobre por qué necesita hacer esta conversión en SQL Server? – Thomas

Respuesta

8

Si intenta que t-sql convierta un valor en marcas que se puedan comparar con el "mismo" valor creado en .NET, no funcionará. Un tipo de datos DateTime en SQL Server solo tiene una precisión de aproximadamente 0.003 segundos (en realidad los valores se redondean a .000, .003 o .007) o 10 -3 mientras que un tipo de datos DateTime en .NET tiene una precisión de 100 nanosegundos (10 -7).

+0

ok muchas gracias – FinalDestiny

+2

datetime2 en SQL Server 2008 soluciona esto un poco – gbn

+0

@gbn - En realidad no. Si almacenó los valores de .NET en DateTime2 (7), debido a la precisión adicional, puede obtener una coincidencia 1: 1. Pero no estoy muy seguro de cómo se puede calcular un valor de Ticks equivalente a un DateTime2 (7) dadas las limitaciones de DateDiff. – Thomas

Cuestiones relacionadas