Sql server 2008 Arithmetischer Überlauf Fehler Bigint

Ich habe versucht, die Zeilen einer Spalte mit zu summieren

select sum(columnA) from tableA 

aber ich bekomme immer den Fehler,

Arithmetic overflow error converting expression to data type bigint

ColumnA ist bereits als Bigint in der Tabelle und auch wenn ich versuche

 select sum(cast(columnA as bigint)) from tableA 

Ich bekomme immer noch den gleichen Fehler. Ich weiß, dass die Summe der Werte im Spaltenbereich gleich irgendwo um 111500000000000000 sein sollte. Ist das zu groß für einen Bigint?

Wenn ja, wie kann ich diesen Fehler umgehen?

Wenn Sie glauben, dass Total SUM für BIGINT groß sein BIGINT , können Sie es immer in 2 Abfragen aufteilen, wenn Sie Primärschlüssel haben oder eine andere Möglichkeit, die data zu teilen. Das wäre ein toller Test, um herauszufinden, was die Summe tatsächlich ist.

  SELECT SUM(columnA) FROM tableA Where PrimaryID < 50 --Or what ever is half your data SELECT SUM(columnA) FROM tableA Where PrimaryID >= 50 

Nachdem du einen individuellen SUM bekommst, kannst du die Summe verifizieren, wenn es noch nicht SUM kannst du immer in weitere Abfragen einbrechen.

Versuchen Sie Folgendes. decimal(38,0) ist der größte Zahl datatyp, den SQL server verarbeiten kann (hält größere Zahlen als bigint ).

 select sum(cast(columnA as decimal(38,0))) from tableA