PHP MSSQL-Bigint返回为浮点型,但准确性下降

时间:2019-05-06 14:16:20

标签: php sql-server bigint

在Ubuntu上使用PHP 5.5 x64。

我正在尝试使用 mssql_query 从MSSQL数据库中获取一些数据;在提取的列中有各种各样的数据类型,看来无论我怎么尝试,bigints(通常为数字长度19)总是会转换为具有精度损失的浮点数。

我有时不是1000000000000000010,而是1000000000000000012或1000000000000000009,等等。

到目前为止,我已经尝试过:

  • 将ini_set设置为19更改精度(它可以正常工作到16、17及以上似乎无效)

  • 使用fetch_assoc和fetch_object

  • 使用PDO(不是sqlsrv)

  • 升级到PHP 7.2并使用PDO(不是sqlsrv)

可以更改PHP设置并安装软件包-不幸的是,不能更改SQL Server的数据类型。由于性能原因,在处理大数据时,我避免使用CONVERT。

如何避免最后一位数字的准确性损失?

0 个答案:

没有答案