一个列的数据类型是 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即可
本文介绍了一种在SQL中将整数转换为固定长度字符串的方法,以实现数字的自动填充与字符串拼接的需求。通过使用`str`函数将数字转换为带有前导空格的字符串,再利用`replace`函数将空格替换为0,最终得到如000000001格式的字符串。
1万+

被折叠的 条评论
为什么被折叠?



