背景:
我正在努力从 SQL Server 2000 迁移到 SQL Server 2005。这为使用 SQL Native Client 通过 ODBC 与 SQL Server 通信的 C++ 应用程序提供数据库服务。
问题:
我正在尝试将 QNAN 插入数据库中的浮点列中。在我的应用程序中,该值存储为 double 值(值:1.#QNAN00000000000)并作为参数发送到数据库中。这在 SQL Server 2000 中不是问题,但相同的代码在 SQL Server 20005 中出现以下错误:
The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 3 (""): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision.
问题:
是否可以让 SQL Server 2005 接受 QNAN?如果是这样,怎么办?
最佳答案
根据this bug report的回复,SQL Server 2005 不接受 NaN 或无穷大,这显然是设计使然(由于排序/比较问题)。
关于c++ - 升级到SQL Server 2005 : Cannot INSERT QNAN into float column?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/467327/