Sql Server 中由数字转换为指定长度的字符串

来源:互联网 发布:电气工程设计软件 编辑:程序博客网 时间:2024/05/17 07:52

一个列的数据类型是 int ,从 1 开始自动增长,另一个列是字符串,现在想把 int 列转换成 九个字符,比如 1 转换后就是 000000001 ,添到字符串列,怎么实现呢?

set @imaxUType=190
   select @tmp=right(str(@imaxUType+1000000000),9)
   select @tmp

 

结果
Column1   
----------
000000190

这个方法至多9位高了后MSSQL 转出来的是 *********咯!

期待牛人更好的不限位数的解决方法!

 

自己想出来的好的办法可以解决

select @tmp=replace(right(str(@imaxUType),10),' ','0')

先用str 函数讲数字转换成字符串带空格的 如:          190

再用replace函数讲空格转变成0即可