这个类型转换还有个问题是需要和mysql保持一致。
看上去有人也在mysql提过这个问题。
结论也是这不是个bug。
如果不想看到这个错误就强转一下。
https://bugs.mysql.com/bug.php?id=83902
[4 Jan 2020 10:17] Roy Lyseng
Posted by developer:This is not a bug.
The CRC32 function produces an UNSIGNED value, and the UNSIGNED property is propagated to the addition operator.
Workaround is to convert the CRC32 result to a signed integer:select ((floor(-(401))) * CAST(CRC32(0) AS SIGNED));