比较php和sql中的大数

比较php和sql中的大数,php,sql,numbers,Php,Sql,Numbers,我需要将php中的一个非常大的数字(30位长)与数据库中的2个数字进行比较。做这件事的好方法是什么?我尝试过使用浮点数,但不够精确,我不知道在php中使用大数的好方法。您可以比较字符串 根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型 除此之外,PHP中还有几个处理大整数的库,如和。您可以比较字符串 根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型 除此之外,PHP中还有几个处理大整数的库,如和。您尝试过使用字符串比较吗?只要确保每个数字都

我需要将php中的一个非常大的数字(30位长)与数据库中的2个数字进行比较。做这件事的好方法是什么?我尝试过使用浮点数,但不够精确,我不知道在php中使用大数的好方法。

您可以比较字符串

根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型


除此之外,PHP中还有几个处理大整数的库,如和。

您可以比较字符串

根据从数据库获取数据的方式,可能需要在SQL语句中将整数显式转换为字符串类型


除此之外,PHP中还有几个处理大整数的库,如和。

您尝试过使用字符串比较吗?只要确保每个数字都用零填充即可

mysql> select "123123123123123123456456456"<"123123123123123123456456457";
+-------------------------------------------------------------+
| "123123123123123123456456456"<"123123123123123123456456457" |
+-------------------------------------------------------------+
|                                                           1 | 
+-------------------------------------------------------------+

mysql>选择“1234564566456456”您尝试过使用字符串比较吗?只要确保每个数字都用零填充即可

mysql> select "123123123123123123456456456"<"123123123123123123456456457";
+-------------------------------------------------------------+
| "123123123123123123456456456"<"123123123123123123456456457" |
+-------------------------------------------------------------+
|                                                           1 | 
+-------------------------------------------------------------+

mysql>选择“1234564566456456”检查函数

我自己没有这样做,所以它可能不正确,但我认为您必须从GMP或BC Math获取字符串结果,并将其输入到查询中。确保将数字存储为bigint

有趣的事实:你可能会认为BigInt将被限制在20位左右,你是对的,除了它有Mysql Magic:

通过使用字符串存储,始终可以在BIGINT列中存储精确的整数值。在本例中,MySQL执行字符串到数字的转换,不涉及中间的双精度表示


在PHP中处理大量数字是通过两个库中的任意一个完成的:GMP或BC Math

我自己没有这样做,所以它可能不正确,但我认为您必须从GMP或BC Math获取字符串结果,并将其输入到查询中。确保将数字存储为bigint

有趣的事实:你可能会认为BigInt将被限制在20位左右,你是对的,除了它有Mysql Magic:

通过使用字符串存储,始终可以在BIGINT列中存储精确的整数值。在本例中,MySQL执行字符串到数字的转换,不涉及中间的双精度表示


如果它们非常大,我甚至会将它们作为字符串进行比较。首先,如果一个比另一个长,它就赢了。如果长度相同,则从左到右逐位比较-如果两个数字不同,则数字较大的数字获胜。这当然适用于正整数。

如果它们非常大,我甚至会将它们作为字符串进行比较。首先,如果一个比另一个长,它就赢了。如果长度相同,则从左到右逐位比较-如果两个数字不同,则数字较大的数字获胜。这当然适用于正整数