动态查询中varchar 转换为 numeric 时出错

hdc733 2016-04-19 03:58:07
DECLARE @sql varchar(3000)

SET @sql='
DECLARE @SP NUMERIC(8,2)
Set @SP=10.88 --这个地方是读取数据的,为了方便的观看改成这样的
Print @SP
EXEC JGData.dbo.mp_sygc @SP
'EXEC(@sql)


ALTER PROCEDURE [dbo].[mp_sygc] (@SP NUMERIC(8,2))
AS
DECLARE @sql varchar(3000)
Set @SP=@SP+1
Print @SP
SET @sql='
Print '+@SP+'
End
'
EXEC(@sql)

显示结果

10.88
11.88
消息 8114,级别 16,状态 5,过程 mp_sygc,第 6 行
从数据类型 varchar 转换为 numeric 时出错。
...全文
117 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdc733 2016-04-19
  • 打赏
  • 举报
回复
在DELPHI中碰到过,没想到SQL里也要。谢谢了!
中国风 2016-04-19
  • 打赏
  • 举报
回复
ALTER PROCEDURE [dbo].[mp_sygc] (@SP NUMERIC(8,2))
AS
DECLARE @sql varchar(3000)
Set @SP=@SP+1
Print @SP
SET @sql='
Print '+RTRIM(@SP)+'

'
EXEC(@sql)
Print '+RTRIM(@SP)+'--字符串加数字要转为字符串才能加

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧