BUG: Assigning datetime to smalldatetime May Change Value

Last reviewed: April 30, 1997
Article ID: Q118877

The information in this article applies to:

  - Microsoft SQL Server version 4.2
  - Microsoft SQL Server version 4.2 for OS/2
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.


Additional query words:
Keywords : kbbug4.20 kbprg SSrvStProc SSrvWinNT
Version : 4.2 | 4.2
Platform : OS/2 WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 30, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.