Pad a string with leading zeros so it's 3 characters long in SQL Server 2008

后端 未结 17 1143
清歌不尽
清歌不尽 2020-11-22 08:13

I have a string that is up to 3 characters long when it\'s first created in SQL Server 2008 R2.

I would like to pad it with leading zeros, so if its original value w

17条回答
  •  孤城傲影
    2020-11-22 08:35

    Here is a variant of Hogan's answer which I use in SQL Server Express 2012:

    SELECT RIGHT(CONCAT('000', field), 3)
    

    Instead of worrying if the field is a string or not, I just CONCAT it, since it'll output a string anyway. Additionally if the field can be a NULL, using ISNULL might be required to avoid function getting NULL results.

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

提交回复
热议问题