SQL Server 2008 R2で最初に作成したときに、3文字までの文字列があります。
先頭のゼロでパッドしたいので、元の値が '1'であれば、新しい値は '001'になります。あるいは、元の値が '23'であれば、新しい値は '023'となります。あるいは、その元の値が '124'であれば、新しい値は元の値と同じになります。
私はSQL Server 2008 R2を使用しています。T-SQLを使ってどのようにすればよいのでしょうか?
フィールドがすでに文字列の場合は、このように動作します。
SELECT RIGHT('000'+ISNULL(field,''),3)
ヌル文字を '000' と表示させたい場合。
整数かもしれませんが、その場合は
SELECT RIGHT('000'+CAST(field AS VARCHAR(3)),3)
質問にあるように、この答えは長さがlt;=3の場合にのみ機能します。もし、もっと大きなものが欲しい場合は、文字列定数と2つの整数定数を必要な幅に変更する必要があります。
整数の場合は、intからvarcharへの暗黙の変換が可能です。
SELECT RIGHT(1000 + field, 3)