我想要的结果是@ID+1,也就是@ID='00124',加1好加只要cast(@ID as int)+1就行,但是它的前面还有两个0,只要cast(@ID as int),@ID就会变成int型前面的两个0会去掉,问有没有什么好的方法既能@ID+1而且前面的两个0还在
注意:前面两个0是不确定的,有可能是一个也可能是俩个,也可能没有,反正是不确定的!
...全文
1338打赏收藏
@ID='00123'+1的问题!
有一SQL语句 declare @ID nvarchar(10) set @ID='00123' 我想要的结果是@ID+1,也就是@ID='00124',加1好加只要cast(@ID as int)+1就行,但是它的前面还有两个0,只要cast(@ID as int),@ID就会变成int型前面的两个0会去掉,问有没有什么好的方法既能@ID+1而且前面的两个0还在 注意:前面两个0是不确定的,有可能是一个也可能是俩个,也可能没有,反正是不确定的!
declare @ID nvarchar(10)
set @ID='00123'
declare @s varchar(10)
set @s=cast((CAST(@ID as int) +1) as CHAR(10))
set @ID= REPLICATE('0',5-len(@s))+@s
[/Quote]
我用的就是你这个方法,先cast @ID as int 然后在转换成char或者nvarchar类型
经理说这样不太好,让我换个更优的方法!