0
カラムがあります。値は0〜4のintデータ型よりも市民ステータスです。 0はシングル、1は結婚しています。関数は、1つ以上の値を返します。グループ以外のSelectステートメントで使用されます。
数値を表すステータスを列に表示したいので、値をテストして同等の文字列ステータス値を返す関数を作成しました。
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
しかし、結果は私が期待したものではありません。この関数は、複数の値を返す副問合せに関するエラーを戻した1つのオブジェクトのすべての行のすべての値を戻しました。 各行の値を返すにはどうすればよいですか?
整数を入力してください。 – mohan111
どういう意味ですか? – ejmtv
dbo.civil(1)AS "Civil Status" – mohan111