1. ホーム
  2. sql-server

[解決済み] SQL Server 2008で、文字列の先頭のゼロをパッドして3文字にする

2022-03-19 20:09:40

質問

SQL Server 2008 R2で最初に作成するときに、最大3文字の文字列があります。

元の値が「1」であれば、新しい値は「001」になるように、先頭のゼロを埋めたいと思います。あるいは、元の値が'23'であれば、新しい値は'023'になる。また、元の値が'124'であれば、新しい値は元の値と同じになります。

SQL Server 2008 R2 を使用しています。T-SQLを使用してどのようにこれを行うのでしょうか?

解決方法は?

フィールドがすでに文字列である場合、これは動作します。

 SELECT RIGHT('000'+ISNULL(field,''),3)

nullを'000'と表示させたい場合

整数かもしれない -- ならば、次のようにします。

 SELECT RIGHT('000'+CAST(field AS VARCHAR(3)),3)

質問で要求されているように、この答えは長さ <= 3 の場合のみ機能します。もし、より大きなものが欲しい場合は、文字列定数と2つの整数定数を必要な幅に変更する必要があります。 '0000' and VARCHAR(4)),4