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))

谢谢大家的帮助:)