【发布时间】:2025-11-29 23:05:01
【问题描述】:
我目前在对表格进行选择时遇到此错误
int 类型的算术溢出错误,值 = 4318826193.000000。
我正在尝试找出导致此问题的列,使用此值 4318826193.000000 找出导致此问题的列的最佳方法是什么?
我尝试使用 CAST([column name] as bigint) 编写包含所有 INT 列的 select 语句,但错误仍然出现。
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]
谢谢
【问题讨论】:
-
您使用的 RDBMS 和版本是什么?
-
(1) 编辑您的问题并显示您正在使用的查询(可能是简化的0)。(2) 使用您正在使用的数据库标记问题。
-
4318826193 不是有效的 int,但 bigint 应该可以正常工作。您使用的是哪个 dbms?
-
int 的最大值为 2.14B。使用 bigint 甚至小数(16,0)
-
该值不能出现在表格的 int 列中。您能否发布您尝试执行的查询?
标签: sql sql-server sql-server-2012