BUG: Assigning datetime to smalldatetime May Change Value

ID: Q118877


The information in this article applies to:


BUG# OS/2: 1875 (4.2)
       NT:  864 (4.2) 

SYMPTOMS

The value of a datetime type local variable or parameter of a stored procedure could be changed after assigning it to a smalldatetime variable. It happens only on values between 11:59:30pm and 11:59:59pm. The value will be changed to 12:00:XXam on the next day.

For example,


   declare @time datetime
   declare @s_time smalldatetime

   select @time = "July 26,1994 11:59:59pm"
   select convert(char(40), @time, 9)
   select @s_time = @time
   select convert(char(40), @s_time, 9)
   select convert(char(40), @time, 9)
   go 

would change the value for @time from "Jul 26 1994 11:59:31:000PM" to "Jul 27 1994 12:00:31:000AM."


WORKAROUND

If the value could fall into this range, assign it only to datetime instead of smalldatetime variables.


STATUS

Microsoft has confirmed this to be a problem in SQL Server version 4.2 for OS/2 and Microsoft SQL Server version 4.2. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


Keywords          : kbprg SSrvStProc kbbug4.20 SSrvWinNT 
Version           : 4.2 | 4.2
Platform          : OS/2 WINDOWS 
Issue type        : 

Last Reviewed: March 20, 1999