qq_39877744 2021-08-16 11:09 采纳率: 42.9%
浏览 143
已结题

sqlserver 算数溢出错误 求解 急!

打印出来的sql是可以正常执行的 但是执行存储会报算术溢出错误
声明的五个参数和数据库字段类型是一致的
关联表的字段E.SJEJLX (int) I.ID(decimal(9,0))
有能看出错误在哪里吗

img

CREATE PROCEDURE dbo.fun_blsj_get_xx_java
@ksrq u5_rq16='',    --发生时间区间   开始时间
@jsrq u5_rq16='',    --发生时间区间   结束时间
@sjbm u5_xh12= 0,    --事件编码
@hzlx varchar(8)='',     --患者类型
@hzxh varchar(8)=''     --患者序号

AS
declare @sql_where varchar(1000)
declare @sql varchar(1000)
SELECT @sql_where = 'where FSRQ >= ''' + @ksrq +'''  and  FSRQ <''' +@jsrq + '''  and BRJZXS = '''+@hzlx+''''
if(@sjbm <>0 and @sjbm is not null)
begin
    select @sql_where = @sql_where + ' and E.ID = '+convert(varchar(20),@sjbm)+''
end
if(@hzxh<>'' and @hzxh is not null)
begin
    select @sql_where = @sql_where + ' and PATID ='''+@hzxh+''''
end
begin
    select @sql = ' select  E.ID,PATID,SBRQ,FSRQ,SJFSKS,SJFSKSDM,I.NAME AS SJEJLXMC from AERS_EVENT E LEFT JOIN AERS_EVENTITEM I ON E.SJEJLX=CAST(I.ID AS int)  ' +@sql_where
end

BEGIN

print @sql
select  E.ID,PATID,SBRQ,FSRQ,SJFSKS,SJFSKSDM,I.NAME AS SJEJLXMC from AERS_EVENT E LEFT JOIN AERS_EVENTITEM I ON E.SJEJLX=CAST(I.ID AS int)+''+
+@sql_where
print @sql
END
GO

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月24日
    • 创建了问题 8月16日

    悬赏问题

    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办