2012-02-21 4 views

ответ

3

У вас есть несколько вариантов:

Либо использовать выходные параметров:

http://msdn.microsoft.com/en-us/library/ms378108.aspx

или просто select Значения VARCHAR в конце, чтобы вернуть данные в одной строке/таблица с одним полем.

4
select cast(123 as varchar(11)) 
+1

Вам понадобится '11', чтобы справиться со всем диапазоном -ve целых чисел. –

+0

Спасибо за это. Обновлено. –

0

Это действительно ускользает от меня, почему везде я перехожу никто не mentios простой факт, что вы можете просто объявить его как этот

CREATE SP_foo 
AS 
    BEGIN 
RETURN 'muajaja' 
    END 
GO 

Чем вы можете назвать что-то вроде этого:

DECLARE @r varchar(255) 
EXEC @r = SP_foo 

Я не знаю, упоминает ли NOBODY это так, потому что, вероятно, не является частью стандарта T-SQL per se? Даже MS Docs говорит что-то weird:

RETURN [integer_expression]

целое _expression ли целое значение, которое возвращается. Хранимые процедуры могут возвращать целочисленное значение для процедуры вызова или приложения

Но эй! до тех пор, пока он работает, не так ли?

+0

Downvotes в стороне, он «работает» в MS SQL Server Express 2008 и выше. Даже если это не является частью стандарта T-SQL. Я хорошо знаю параметры OUTPUT. Просто подумал, что я брошу его туда. – percebus

+0

Он, похоже, не работает в 2014 году, потому что он говорит, что не может преобразовать varchar в int – apkisbossin

Смежные вопросы