@ID='00123'+1的问题!

JiaoPengJay 2011-05-13 09:26:16
有一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是不确定的,有可能是一个也可能是俩个,也可能没有,反正是不确定的!
...全文
133 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
JiaoPengJay 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jy02349551 的回复:]
不管后面的数字有几位,前面都加上6个0,然后用right函数截取右边固定长度部分,就行了。
例如 00123

1、123+1
2、'00000'+'124'
3、right('00000124',5)
[/Quote]
注意:前面两个0是不确定的,有可能是一个也可能是俩个,也可能没有,反正是不确定的!
还有后面的123也是不确定的,也有可能是3位也有可能4位,反正是不确定
JiaoPengJay 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jy02349551 的回复:]
不管后面的数字有几位,前面都加上6个0,然后用right函数截取右边固定长度部分,就行了。
例如 00123

1、123+1
2、'00000'+'124'
3、right('00000124',5)
[/Quote]
能说清楚点吗!
JiaoPengJay 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ojlovecd 的回复:]
SQL code

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类型
经理说这样不太好,让我换个更优的方法!
不懂 2011-05-13
  • 打赏
  • 举报
回复
不管后面的数字有几位,前面都加上6个0,然后用right函数截取右边固定长度部分,就行了。
例如 00123

1、123+1
2、'00000'+'124'
3、right('00000124',5)
  • 打赏
  • 举报
回复
if(id != 9){
split(index(4),id+1)
}else{

}代码不对,但是你懂我的意思吧?
我姓区不姓区 2011-05-13
  • 打赏
  • 举报
回复

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

JiaoPengJay 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yue547283947 的回复:]
截取前面的0,相加之后再拼接上。
[/Quote]
我也试过这个先判断有0的字符串长度,然后在把@ID转换成int型,在判断int型的长度,再拿它原来的长度(有0的长度)减去int型的长度获取出来的就是前面有几个0,最后在相加之后再把0加上,可是这样做繁琐性能不好,请问有没有什么好的方法!
yue547283947 2011-05-13
  • 打赏
  • 举报
回复
截取前面的0,相加之后再拼接上。

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧