类型转换的问题

xielk 2005-12-18 07:12:11
CREATE proc test
@result nvarchar(20) output
as

declare @r int
declare @rr int
declare @t nvarchar(20)
set @r=239349
set @rr=243923
set @result=convert(varchar,@r)+'@'+convert(varchar,@rr)

return @result
GO
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
todouwang 2005-12-18
  • 打赏
  • 举报
回复
写错了一点,
exec test @result  改成   exec test @result output
todouwang 2005-12-18
  • 打赏
  • 举报
回复
return返回的是整型

这样调用
declare @result varchar(50)
exec test @result
select @result--取得这个输出参数的值,你也可以在exec前给这个变量先赋值
lw1a2 2005-12-18
  • 打赏
  • 举报
回复
去掉那个return @result
zjcxc 元老 2005-12-18
  • 打赏
  • 举报
回复
return只能返回整型数据.

而输出参数只需要赋值即可, 不需要return
zjcxc 元老 2005-12-18
  • 打赏
  • 举报
回复
CREATE proc test
@result nvarchar(20) output
as

declare @r int
declare @rr int
declare @t nvarchar(20)
set @r=239349
set @rr=243923
set @result=convert(varchar,@r)+'@'+convert(varchar,@rr)

-- return @result
GO

zjcxc 元老 2005-12-18
  • 打赏
  • 举报
回复
RETURN
从查询或过程中无条件退出。RETURN 即时且完全,可在任何时候用于从过程、批处理或语句块中退出。不执行位于 RETURN 之后的语句。

语法
RETURN [ integer_expression ]

参数
integer_expression

是返回的整型值。存储过程可以给调用过程或应用程序返回整型值。
xielk 2005-12-18
  • 打赏
  • 举报
回复
报 将 nvarchar 值 '239349@243923' 转换为数据类型为 int 的列时发生语法错误。

怎么解决

34,576

社区成员

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

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