ストアドプロシージャがあります。@p_FR
char(6)であると呼ばれる1つの変数を渡します。ただし、渡される値は必ずしも6文字の長さであるとは限りません。値が4文字または5文字しかない場合もあります。文字列が常に6文字の長さであることを確認する必要があります。たとえば、@p_FR
が8534の場合、先行ゼロを2つ追加する必要がある@p_FR
ため、008534になります。
やってみた
set @fr = right('000000', @p_FR, 6)
@fr
varchar(6)です
しかし、@p_FR
が8534の場合、@frはまだ8534です。008534である必要があります。
また、新しいクエリで次のコードブロックを設定しましたが、それでも8534を取得しました。
declare @p_FR as char(6),
@fr as varchar(6)
set @p_FR = '8534'
set @fr = right('000000' + @p_FR, 6)
select @fr