Heim  >  Artikel  >  Datenbank  >  Wie geht MySQL CAST mit Überlauf um?

Wie geht MySQL CAST mit Überlauf um?

WBOY
WBOYnach vorne
2023-09-07 22:17:11921Durchsuche

MySQL CAST 如何处理溢出?

MySQL CAST kann Überläufe verarbeiten, die bei der Auswertung numerischer Ausdrücke auftreten. Angenommen, wenn die Auswertung eines numerischen Ausdrucks einen Überlauf erzeugt, gibt MySQL eine Fehlermeldung aus. Um diesen Überlauf zu bewältigen, können wir den Wert mithilfe von CAST in UNSIGNED ändern.

Beim Addieren von 1 zum BIGINT-Maximalwert generiert MySQL einen Fehler aufgrund eines Überlaufs, wie unten gezeigt:

mysql> Select 9223372036854775807 + 1;
ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807+1)'

Nun behandelt MySQL diesen Überlauf mit Hilfe von CAST wie folgt:

mysql> Select CAST(9223372036854775807 AS UNSIGNED) +1;

+------------------------------------------+
| CAST(9223372036854775807 AS UNSIGNED) +1 |
+------------------------------------------+
| 9223372036854775808                      |
+------------------------------------------+
1 row in set (0.07 sec)

Das obige ist der detaillierte Inhalt vonWie geht MySQL CAST mit Überlauf um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen