table t1
字段codecode的内容A00001
A00002
AB0000000089
ABC008
用户输入A,要获得A的新的code值,也就是A00003......问题是,如何在数据库里查找到A00002这个值出来..

解决方案 »

  1.   

    问题是根据什么来判断是新的CODE值你没说
      

  2.   

    用户输入A,要获得A的新的code值,也就是A00003......问题是,如何在数据库里查找到A00002这个值出来.. 没搞懂你说的什么!
      

  3.   

    select [code] from [t1] where [code] like 'A[0-9]%'这样应该可以,太久没用了,不知道对不对,你可以试试
      

  4.   


    --> 测试数据:[TB]
    if object_id('[TB]') is not null drop table [TB]
    create table [TB]([code] varchar(12))
    insert [TB]
    select 'A00001' union all
    select 'A00002' union all
    select 'AB0000000089' union all
    select 'ABC008'--当输入A的时候
    declare @s varchar(10)
    set @s='A'
    select top 1 code from TB where patindex(@s+'[0-9]%',code)>0
    order by code desc/*
    code         
    ------------ 
    A00002(所影响的行数为 1 行)*/--当输入AB的时候declare @s varchar(10)
    set @s='AB'
    select top 1 code from TB where patindex(@s+'[0-9]%',code)>0
    order by code desc/*code         
    ------------ 
    AB0000000089(所影响的行数为 1 行)*/
    drop table TB
      

  5.   

    你的开头是不是分'A' ,'AB','ABC',每种开头都有自己的一个顺序,你剔除掉其他的不就可以了 。!
      

  6.   

    select max([code]) from [t1] where [code] like 'A[0-9]%' 刚刚忘记了这个
      

  7.   

    select [code] from [t1] where [code] like N'A%'
      

  8.   

    select [code] from [t1] where RegExp([code],'^A[0-9]%')