2016-08-03 5 views
-3

ich zur Zeit immer diese Fehlermeldung, wenn sie auf einem Tisch eine ausgewählte tunArithmetischer Überlauffehler für den Typ int

Arithmetischer Überlauffehler für den Typ int, value = 4318826193,000000.

Ich versuche herauszufinden, welche Spalte das verursacht, was ist der beste Weg herauszufinden, welche Spalte dieses Problem mit diesem Wert 4318826193.000000 verursacht?

Ich habe versucht, eine SELECT-Anweisung mit allen INT-Spalten mit einem CAST ([Spaltenname] als bigint) zu schreiben, aber der Fehler erscheint immer noch.

SELECT 
     CAST(Id AS BIGINT) 
     ,CAST (CreatedBy as BIGINT) 
     ,CAST (UpdatedBy as BIGINT) 
     ,CAST (HeaderId as BIGINT) 
     ,CAST (DiskFileId as BIGINT) 
     ,CAST (Status as BIGINT) 
     ,CAST (TotalLines as BIGINT) 
     ,CAST (CompletedLines as BIGINT) 
     ,CAST (ProcessedLines as BIGINT) 
     ,CAST (PercentComplete as BIGINT) 
     ,CAST (SecondsRemaining as BIGINT) 
     ,CAST (RollbackUser as BIGINT) 
     ,CAST (CreatedRecords as BIGINT) 
     ,CAST (UpdatedRecords as BIGINT) 
     ,CAST (SkippedRecords as BIGINT) 
     ,CAST (DiallerExportProgress as BIGINT) 
     ,CAST (idxCampaignId as BIGINT) 
     ,CAST (ScheduleId as BIGINT) 
     ,CAST (CampaignId as BIGINT) 

from [table_name] 

Dank

+0

Was ist das RDBMS, das Sie verwenden und Version? – TheGameiswar

+1

(1) Bearbeiten Sie Ihre Frage und zeigen Sie die Abfrage (vielleicht simplified0, die Sie verwenden. (2) Markieren Sie die Frage mit der Datenbank, die Sie verwenden. –

+1

4318826193 ist kein gültiges int, aber bigint sollte gut funktionieren. Welche dbms sind Sie Verwendung? – jarlh

Antwort

2

Verwendung Try_convert, für Konvertierungsfehler statt erroring aus, TRY_Convert Wirft null

select try_convert(int,4318826193.000000) 

Wie ..

Select TRY_CONVERT(BIGINT,DiskFileId) 
+0

also in meiner Select-Anweisung, die ich gerade mache, wie würde ich es benutzen? – virkboy

+0

@virkboy: siehe Verwendung aktualisiert – TheGameiswar

+0

Danke, das war genau das, was ich brauchte – virkboy

0

Sie max verwenden können, verwenden, auf alle Spalten und erhalten den maximalen Wert, um whi zu finden ch Spalte produziert es.