如何拆分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
答
试试这个,希望它会帮助你
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