Turiu eilutę, kurios ilgis yra iki 3 simbolių, kai ji pirmą kartą sukuriama "SQL Server 2008 R2".
Norėčiau, kad ji būtų papildyta nuliais, taigi, jei pradinė reikšmė buvo '1', tai naujoji reikšmė būtų '001'. Arba jei pradinė vertė buvo '23', naujoji vertė būtų '023'. Arba jei jos pradinė vertė yra '124', tai naujoji vertė yra tokia pati kaip pradinė vertė.
Naudoju SQL Server 2008 R2. Kaip man tai padaryti naudojant T-SQL?
Jei laukas jau yra eilutė, šis veiks
SELECT RIGHT('000'+ISNULL(field,''),3)
Jei norite, kad nulinės reikšmės būtų rodomos kaip '000'
Tai gali būti sveikasis skaičius - tada norėtumėte
SELECT RIGHT('000'+CAST(field AS VARCHAR(3)),3)
Kaip reikalaujama klausime, šis atsakymas tinka tik jei ilgis <= 3, jei norite kažko didesnio, turite pakeisti eilutės konstantą ir dvi sveikojo skaičiaus konstantas į reikiamą plotį, pvz.,
'0000' ir VARCHAR(4)),4
.
Jei tai sveikieji skaičiai, galite naudoti netiesioginį konvertavimą iš int į varchar:
SELECT RIGHT(1000 + field, 3)