数値や文字列を右詰して前を「0(ゼロ)」で埋める(T-SQL)
T-SQLの小ネタです。
数値や文字列を右詰して前を「0(ゼロ)」で埋めた文字列を作ります。
数値の右詰と0埋め
数値の場合はSQL Server 2012から追加されているFORMAT関数を使います。C#と同じような書式を指定できます。
-- 3桁の数値を右詰と0埋めして5桁に declare @number int = 123; print format(@number, N'd5'); print format(@number, N'00000'); -- またはこれ -- 実行結果 -- 00123 -- 00123
SQL Server 2012以前は省略(・・・調べていません)。
参考
文字列の右詰と0埋め
文字列の場合はRIGHT関数を使って次のようにするといいみたいです。
-- 3桁の文字列を右詰と0埋めして5桁に declare @text varchar(3) = N'123'; print right('00000' + @text, 5); -- 実行結果 -- 00123