Heim >Datenbank >MySQL-Tutorial >Wie geht MySQL CAST mit Überlauf um?
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!