怎么样将0001441+30*20返回的数为0002041,请各位指教!
如标题所示,我如何才能返回0002041,由于0001441前置零,进行运算后数据默认为数值,保存到表中的数据就成是2041,用转换函数也起不行,请各位赐教,谢谢!
------解决方案--------------------SELECT LEFT('000'+CAST((0001441+(30*20)) AS VARCHAR),7)
/*
-------
0002041
*/
------解决方案--------------------试试这个:
select right('00000'+cast(0001441+30*20 as varchar),7)
/*
0002041
*/
------解决方案--------------------
如果第一位为1,这个代码可以:
select right('00000'+cast(1001441+30*20 as varchar),7)
/*
1002041
*/
------解决方案--------------------select right(convert(varchar,0001441+30*20+10000000),7)
------解决方案--------------------SELECT RIGHT(10000000+0001441+30*20,7)
------解决方案--------------------
号码不为0也一样的,你可以自己试一下啊,反正select又不影响
------解决方案--------------------为什么不把数据类型设置成varchar(n)的呢?如果是纯数字,varchar(n)和int 是可以互转的啊