加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server:将表达式转换为数据类型int的算术溢出错误

发布时间:2020-12-12 08:51:39 所属栏目:MsSql教程 来源:网络整理
导读:我收到这个错误 msg 8115,level 16,state 2,line 18 Arithmetic overflow error converting expression to data type int. 用这个SQL查询 DECLARE @year VARCHAR(4); DECLARE @month VARCHAR(2); -- START OF CONFIGURATION SECTION -- THIS IS THE ONLY SECT
我收到这个错误

msg 8115,level 16,state 2,line 18
Arithmetic overflow error converting expression to data type int.

用这个SQL查询

DECLARE @year VARCHAR(4);                       
DECLARE @month VARCHAR(2);                      

-- START OF CONFIGURATION SECTION                       
-- THIS IS THE ONLY SECTION THAT SHOULD BE MODIFIED                     
-- SET THE YEAR AND MONTH PARAMETERS                        

SET @year = '2013';                     
SET @month = '3';  -- 1 = January.... 12 = Decemeber.                       

-- END OF CONFIGURATION SECTION                     

DECLARE @startDate DATE                     
DECLARE @endDate DATE                       
SET @startDate = @year + '-' + @month + '-01 00:00:00';                     
SET @endDate = DATEADD(MONTH,1,@startDate);                       

SELECT                          
    DATEPART(YEAR,dateTimeStamp) AS [Year],DATEPART(MONTH,dateTimeStamp) AS [Month],COUNT(*) AS NumStreams,[platform] AS [Platform],deliverableName AS [Deliverable Name],SUM(billableDuration) AS NumSecondsDelivered                      
FROM                            
    DeliveryTransactions                        
WHERE                           
    dateTimeStamp >= @startDate                     
AND dateTimeStamp < @endDate                        
GROUP BY                            
    DATEPART(YEAR,dateTimeStamp),[platform],deliverableName                       
ORDER BY                            
    [platform],DATEPART(YEAR,deliverableName

解决方法

SUM(billableDuration)的问题是?要找出来,尝试评论该行,看看它是否有效.

这可能是总和超过最大int.如果是这样,请尝试用SUM(CAST(billableDuration AS BIGINT))替换它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读