SQL Server 2008 R2'de ilk oluşturulduğunda en fazla 3 karakter uzunluğunda olan bir dizem var.
Bunu baştaki sıfırlarla doldurmak istiyorum, böylece orijinal değeri '1' ise yeni değer '001' olacaktır. Ya da orijinal değeri '23' ise yeni değer '023' olur. Veya orijinal değeri '124' ise yeni değer orijinal değer ile aynıdır.
SQL Server 2008 R2 kullanıyorum. Bunu T-SQL kullanarak nasıl yapabilirim?
Alan zaten bir dizeyse, bu çalışacaktır
SELECT RIGHT('000'+ISNULL(field,''),3)
Boş değerlerin '000' olarak gösterilmesini istiyorsanız;
Bir tamsayı olabilir -- o zaman
SELECT RIGHT('000'+CAST(field AS VARCHAR(3)),3)
Sorunun gerektirdiği gibi, bu yanıt yalnızca uzunluk <= 3 ise çalışır, daha büyük bir şey istiyorsanız, dize sabitini ve iki tamsayı sabitini gereken genişliğe değiştirmeniz gerekir. örneğin
'0000' ve VARCHAR(4)),4
Tamsayılar için int'ten varchar'a örtük dönüştürme kullanabilirsiniz:
SELECT RIGHT(1000 + field, 3)