我想实现自动ID.
  table1:
      ID ,name1,name2....
    ID为主键,nvarchar(20),其值为格式可能为:abc123,ab444c-cc3467,222bbasdf12222等
我想取出数据表最大的ID最后的数字串,
然后加1,返回的值,如何做?
比如得到:abc124

解决方案 »

  1.   

    不知道是否明白了你的意思
    打反字符,取不是数字的位置index,打反后用right
      

  2.   

    看看能不能用上?declare @s varchar(100),@a varchar(100)
    set @s='abc123'
    set @a=''
    while len(@s)>0
    begin
    set @a=@a+ substring(@s,patindex('%[0-9]%',@s),1)
    set @s=stuff(@s,patindex('%[0-9]%',@s),1,'')
    endprint @a
      

  3.   

    --找出234
    declare @s varchar(20)
    set @s='123abc_dn2gsa234'
    select right(@s,(patindex('%[^0-9]%',reverse(@s))-1))
      

  4.   

    declare @s varchar(100)
    set @s='abc123'
    print 
    reverse(right(reverse(@s),len(@s)-patindex('%[^0-9]%',reverse(@s))+1))+rtrim(
    reverse(left(reverse(@s),patindex('%[^0-9]%',reverse(@s))-1))+1)^_^
      

  5.   

    谢谢各位良师,特别感谢xyxfly(小虾米......BS问题解决不结贴),