【发布时间】:2023-03-22 03:02:02
【问题描述】:
我有一个使用动态查询运行的 sql 函数。
动态查询是:
exec sp_executesql N'SELECT *
FROM Client_Report_Consol_Summary_RELATED1(@p11,@p12,@p13,@p14)
WHERE (WEEKNUM = @p4) AND (YEAR = @p5)
ORDER BY ProductDescription,ISSUE_DESC,ConsigneeFullName',
N'@p11 uniqueidentifier,
@p12 nvarchar(4000),
@p13 nvarchar(4000),
@p14 nvarchar(4000),
@p4 decimal(1,0),
@p5 decimal(4,0)',
@p11='F312F49B-203E-4BBA-A74E-82EA356ED6D3',
@p12=NULL,
@p13=N'',
@p14=N'',
@p4=1, <-- seems to be the issue
@p5=2011
当我运行上面我得到以下错误 将 varchar 转换为数字数据类型时出现算术溢出错误。
但是当我编辑我的动态查询并将“@p4 decimal(1,0)”更新为“@p4 decimal(2,0)”时,它工作正常.
请任何人解释一下为什么会发生这种情况。
谢谢 阿米特
【问题讨论】:
标签: sql sql-server