0

都市と州の値から正しい郵便番号を取得しようとしています。しかし、郵便番号から先頭の 0 を失っています。

create procedure sp_getCorrectvalue
as
Begin
     declare @value as nvarchar(5)
     set @value = '00254'
     return @value
End

declare @getValue as nvarchar(5)
Exec @getValue = sp_getCorrectvalue
select @getValue as zipCode

を返す必要がありますが、どちらが正しくないかを00254返します254

助けてくださいありがとう

4

3 に答える 3

7

プロシージャからの戻り値は のみであるintため、返すときに変換されます。文字列を返すには、結果または出力パラメータで返す必要があります。

于 2013-02-20T22:28:47.530 に答える
4

関数を作成する必要があります

CREATE FUNCTION fn_getCorrectvalue()
RETURNS NVARCHAR(5)
AS
BEGIN
     declare @value as nvarchar(5)
     set @value = '00254'
     return @value
END

http://sqlfiddle.com/#!3/29fa9/1/0のデモ


ストアド プロシージャは整数を返します ( http://msdn.microsoft.com/en-us/library/ms174998.aspx )

ストアド プロシージャは、呼び出し元のプロシージャまたはアプリケーションに整数値を返すことができます。

于 2013-02-20T22:35:20.583 に答える