MySQL 按位非运算未返回所需的值
MySQL bitwise NOT operation isn't returning desired value
我正在尝试将一些 PHP 代码转换为 MySQL 代码。这是发生了什么:
在PHP中:
我试图在数字上不按位使用,这是我得到的结果
var_dump(~(17998320)); Result: -17998321
PHP中的结果正是我需要的。
在MySQL中:
当我在这里尝试做同样的事情时,我得到了完全不同的答案。
select ~(17998320); Result: 18446744073691553295
我猜是关于BIGINT的。如何将我在 PHP 上看到的行为复制到 MySQL 中?
我知道问题出在哪里了!
它给了我 2 的赞美形式的价值。所以你可以通过手动进入它来获得正确的价值。
select -1 * (~((~(17998320)) - 1))
谢谢大家的帮助:)
我正在尝试将一些 PHP 代码转换为 MySQL 代码。这是发生了什么:
在PHP中: 我试图在数字上不按位使用,这是我得到的结果
var_dump(~(17998320)); Result: -17998321
PHP中的结果正是我需要的。
在MySQL中: 当我在这里尝试做同样的事情时,我得到了完全不同的答案。
select ~(17998320); Result: 18446744073691553295
我猜是关于BIGINT的。如何将我在 PHP 上看到的行为复制到 MySQL 中?
我知道问题出在哪里了!
它给了我 2 的赞美形式的价值。所以你可以通过手动进入它来获得正确的价值。
select -1 * (~((~(17998320)) - 1))
谢谢大家的帮助:)