BUG: Negative 0 (zero) Causes ODBC SQL Server Driver Error

ID: Q235281


The information in this article applies to:
  • Microsoft ODBC Driver for SQL Server, version 3.7


SYMPTOMS

If a SQL Server query returns a negative zero, and the client application binds the results as a SQL_C_DOUBLE, the following error is reported to the client:

[Microsoft][ODBC SQL Server Driver]Invalid character value for cast specification


CAUSE

SQL Server is returning a negative zero, and the SQL Server driver is reporting this as an error. To reproduce the error run the following query:


SELECT 0.0 * -1 
When you fetch the resulting column from this query you receive the error. In a more complex scenario the following query also causes the error:

SELECT col1 * -1 FROM mytable 


RESOLUTION

Either bind the column as a SQL_C_CHAR or SQL_C_LONG to avoid the error. You can also check that the resulting data does not contain a negative zero.


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

Additional query words: ODBC

Keywords : SSrvTran_SQL odbcSQL
Version : WINDOWS:3.7
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: December 14, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.