在写存储过程的时候遇到个问题,就是 将数字转成4位右对齐的字符串,不足补0
比如: 1 --> '0001'
在网上找了不少资料,最后找到个oracle的库函数 LPAD,但是SQL SERVER里面没有这个函数
所以自己想了个方法来实现此功能,方法很简单,代码如下:
PRINT REPLICATE('0',4-LEN(CONVERT(varchar(4),1)))+CONVERT(varchar(4),1)
比如: 1 --> '0001'
在网上找了不少资料,最后找到个oracle的库函数 LPAD,但是SQL SERVER里面没有这个函数
所以自己想了个方法来实现此功能,方法很简单,代码如下:
PRINT REPLICATE('0',4-LEN(CONVERT(varchar(4),1)))+CONVERT(varchar(4),1)
可以根据自己需要转成N位,代码很简单,将4换成N就可以了。
其它:
http://stackoverflow.com/questions/5912416/lpad-in-sql-server-2008
http://www.sqlservercurry.com/2011/10/sql-server-lpad-and-rpad-functions.html
来源:oschina
链接:https://my.oschina.net/u/113421/blog/270363