0
我有一個列的公民狀態比int值數據類型的值爲0-4。 0單身,1已婚,等等。函數返回的值超過1個用於非組選擇語句的值
我希望列顯示狀態代表他們的數字,所以我做了一個函數,測試該值並返回等效的字符串狀態值。
CREATE function civilStatus
(
@status int
)
RETURNS varchar(50)
AS
BEGIN
DECLARE @result_status varchar(50)
SELECT @result_status = (
SELECT CONVERT(varchar,(CASE Civil
WHEN 0 THEN 'Single'
WHEN 1 THEN 'Married'
WHEN 2 THEN 'Separated'
WHEN 3 THEN 'Divorced'
WHEN 4 THEN 'Windowed'
END))
FROM UserInfo)
RETURN @result_status
和我做了一個存儲過程,將顯示錶中的所有行,但替換其中的參數是什麼號碼的婚姻狀況該行持有該函數的婚姻狀況。
CREATE PROCEDURE [dbo].DisplayUsers
\t
AS
\t SELECT Firstname,
Lastname,
City,
Country,
([dbo].civilStatus(Civil)) AS "Civil Status"
FROM UserInfo
但結果不是我所期待。該函數返回一個對象中所有行的所有值,該對象返回有關返回多個值的子查詢的錯誤。 如何返回每行的值?
給出輸入爲整數 – mohan111
你是什麼意思? – ejmtv
dbo.civil(1)AS「Civil Status」 – mohan111