我有一个存储过程,它返回一个整数值。
我可以返回varchar而不是int吗?有没有办法将varchar值返回给调用过程?
答案 0 :(得分:4)
select cast(123 as varchar(11))
答案 1 :(得分:3)
你有几个选择:
使用输出参数:
http://msdn.microsoft.com/en-us/library/ms378108.aspx
或只是select
末尾的varchar值,用于返回单行/单字段表中的数据。
答案 2 :(得分:0)
这真的让我感到惊讶,为什么我到处都没有把mentios变成一个简单的事实,你可以像这样声明它
CREATE SP_foo
AS
BEGIN
RETURN 'muajaja'
END
GO
你可以打电话给这样的话:
DECLARE @r varchar(255)
EXEC @r = SP_foo
我不知道NOBODY是否像这样提到它,因为它可能不属于T-SQL标准本身?甚至MS文档也说了weird:
RETURN [integer_expression]
<强>整数强> _expression 是返回的整数值。存储过程可以将整数值返回给调用过程或应用程序
但是嘿!只要它有效,对吧?