从存储过程中丢失前导0

Mad*_*ddy 0 sql-server sql-server-2008

我想从城市和州的价值中获取正确的邮政编码.但我正在失去邮政编码的领先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
Run Code Online (Sandbox Code Playgroud)

它应该返回00254,但它返回254不正确的

请帮忙谢谢

Guf*_*ffa 7

过程的返回值只能是a int,因此在返回时会转换它.要返回一个字符串,您需要在结果或输出参数中返回它.