Error de desbordamiento aritmético cuando se suma un INT, ¿cómo puedo lanzarla como un BIGINT?

Cuando intento obtener la suma de una columna de una tabla me sale el error Arithmetic overflow error converting expression to data type int debido a que el número resultante es grande para un INT. Así que traté de convertir a un BIGINT utilizando la siguiente

SELECT CAST(SUM(columnname) AS BIGINT) FROM tablename

Esto me da el mismo error. Alguna idea de lo que estoy haciendo mal?

InformationsquelleAutor | 2009-09-04

1 Kommentar

  1. 78

    Tratar de convertir antes de la suma. por ejemplo.

    SELECT SUM(CONVERT(bigint, columnname)) FROM tablename

    o

    SELECT SUM(CAST(columnname AS BIGINT)) FROM tablename
    • SELECCIONE (SUMA(CAST(columnname COMO BIGINT)) + SUM(CAST(columnname COMO BIGINT)) + SUM(CAST(columnname COMO BIGINT)))/xxxxx) como total_usage DE tablename . He estado tratando de la solución, pero todavía no funciona

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea