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

一个列的数据类型是 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即可