Thursday, June 27, 2013

SQL2008R2: DATETIME2 TO DATETIME CAST ISSUE.

Hi


Please consider the following:


DECLARE @DATETIME DATETIME

DECLARE @DATETIME2 DATETIME2(3)

DECLARE @DATETIME2_PLUS DATETIME2(3)


SET @DATETIME2 = SYSUTCDATETIME()

SELECT @DATETIME2


SET @DATETIME2_PLUS = DATEADD(millisecond, 1, @DATETIME2)

SELECT @DATETIME2_PLUS


SET @DATETIME = CAST(@DATETIME2_PLUS AS DATETIME)

SELECT @DATETIME


1. 2013-06-27 08:42:56.723

2. 2013-06-27 08:42:56.724

3. 2013-06-27 08:42:56.723




Questions:


1. Why result 1 equals result 3 and not result 2?

2. Is there a way to guarantee that 3 will always be equal to 2 ?


Tnx


-Itai




itai


No comments:

Post a Comment