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

发布于 2024-12-22 03:07:28 字数 179 浏览 1 评论 0原文

我得到这样的id(存储过程中的最大id)“100254A”(它是字符串), 现在我可以在生成下一个字符串(如 100254B)后拆分字符串“100254”和“A”。 如何编写代码在100255A之后生成下一个字符串,例如100254C,...100254Z将会出现,请给我任何建议

谢谢 赫曼斯

I am getting id like this(max id in Storedprocedure) "100254A"(it is string),
now i can split the string "100254" and "A" after generate the next string like 100254B.
how to write the code generate the next strings like 100254C,...100254Z after 100255A will coming pls give me any suggestion

Thank u
hemanth

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

南城旧梦 2024-12-29 03:07:28

也许这可以帮助:

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 @number=@number+1
    SET @letter=CHAR(65)
END
ELSE
BEGIN
    SET @letter=CHAR(ASCII(@letter)+1)
END

SELECT CAST(@number AS VARCHAR(100))+@letter AS new
SELECT @String AS old

Maybe this can help:

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 @number=@number+1
    SET @letter=CHAR(65)
END
ELSE
BEGIN
    SET @letter=CHAR(ASCII(@letter)+1)
END

SELECT CAST(@number AS VARCHAR(100))+@letter AS new
SELECT @String AS old
网名女生简单气质 2024-12-29 03:07:28

使用 子字符串 函数。

Use substring function.

青巷忧颜 2024-12-29 03:07:28

试试这个希望对你有帮助

  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 @givenvalue+@data
    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

try this hope it will help You

  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 @givenvalue+@data
    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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文