如何拆分asp.net中的字符串数字和字符

问题描述:

我得到这样的id(StoredProcedure中的最大ID)“100254A”(它是字符串), 现在我可以拆分字符串“100254”和“A”生成下一个字符串如100254B之后。 如何编写代码产生下一个字符串像100254C,... 100254Z后100255A将来临请给我任何建议如何拆分asp.net中的字符串数字和字符

感谢ü hemanth

也许这可以帮助:

DECLARE @String VARCHAR(200) 
SET @String = '100254E' 

DECLARE @number INT, 
     @letter VARCHAR(5) 

SET @number = CAST(LEFT(@String, LEN(@String) - 1) AS INT) 
SET @letter= SUBSTRING(@String,LEN(@String), LEN(@String)) 
--Check if it is Z 
IF(ASCII(@letter)=90) 
BEGIN 
    SET @[email protected]+1 
    SET @letter=CHAR(65) 
END 
ELSE 
BEGIN 
    SET @letter=CHAR(ASCII(@letter)+1) 
END 

SELECT CAST(@number AS VARCHAR(100))[email protected] AS new 
SELECT @String AS old 

使用substring功能。

试试这个,希望它会帮助你

declare @temvalue varchar(50) 
    declare @givenvalue varchar(50) 

    set @givenvalue ='100254A' 

set @temvalue= substring(@givenvalue,len(@givenvalue),1) 
set @givenvalue=substring(@givenvalue,0,len(@givenvalue)) 

declare @tableid int 

while ASCII(@temvalue)<=90 
begin 
    set @tableid=ASCII(@temvalue) 
    declare @data varchar(1) 
      set @data=CHAR(@tableid) 
      print @[email protected] 
    if @givenvalue <>'100257' -- UP TO THIS IT WILL generate STRING 
     begin 
      if @tableid=90 
      begin 
      set @givenvalue= CAST(cast(@givenvalue as int)+1 as varchar(50)) 
      set @tableid=64 

      end 
     end 
    set @tableid+=1 
    set @temvalue=CHAR(@tableid) 
    end