Приведение MySQL к -1 возвращает 18446744073709551615

Кажется, я не могу найти объяснение этому, и я почти уверен, что раньше это работало так, как ожидалось.

SELECT CAST(-1 AS UNSIGNED INTEGER);

Ожидается: 0
Результат: 18446744073709551615

Что-то изменилось, или это ошибка MySQL?

[ОБНОВЛЕНИЕ] Хорошо, я думаю, что нашел причину, почему это, казалось, работало прежде:

SELECT CAST(-1.0 AS UNSIGNED INTEGER);
+--------------------------------+
| CAST(-1.0 AS UNSIGNED INTEGER) |
+--------------------------------+
|                              0 |
+--------------------------------+

Теперь, может кто-нибудь, пожалуйста, объясните разницу, которую это вызывает? .. На самом деле, я нашел в документах!

Если любой из операндов является значением с плавающей запятой, результат является значением с плавающей запятой и не затрагивается предыдущим правилом.

Ответы на вопрос(1)

Ваш ответ на вопрос