SQL Server 2008 で文字列の先頭にゼロを追加して 3 文字にする 質問する

SQL Server 2008 で文字列の先頭にゼロを追加して 3 文字にする 質問する

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

先頭にゼロを追加したいので、元の値が「1」の場合、新しい値は「001」になります。または、元の値が「23」の場合、新しい値は「023」になります。または、元の値が「124」の場合、新しい値は元の値と同じになります。

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

ベストアンサー1

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

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

ヌルを「000」として表示したい場合

それは整数かもしれません - その場合は

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

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

おすすめ記事