crazy_boom 2022-04-13 18:00 采纳率: 0%
浏览 28

给出首位和末位的字符串  能批量生成 首位到末尾的一个数据自增的结果

SqlServer2008R2

给出 首位和末位  能批量生成 首位到末尾的数据组

例如首位:  A0000001    末位:A0000010    给这两个参数就会自动生成 下面这样的数组 

2:首位的字符和字符位数不确定,字符串长度不确定 ,有可能是 首位:AB0000000001 末位:AB0000000100  也有可能首位:A00A0002  末位:A00B0003  要能货到 首位到末位的字符串自增的一个数据列

A0000001
A0000002
A0000003
.....

A0000009
A0000010
  • 写回答

1条回答 默认 最新

  • m0_54204465 2023-01-30 19:29
    关注

    如果使用 T-SQL (Transact-SQL) ,可以使用以下代码生成自增字符串:

    WITH N(N) AS
    (
    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1))
    FROM (VALUES (0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) T(N)
    ),
    M(M) AS
    (
    SELECT 1 UNION ALL SELECT M + 1
    FROM M WHERE M < (
    SELECT CAST(RIGHT(末位, LEN(末位) - LEN(首位)) AS INT)
    - CAST(RIGHT(首位, LEN(末位) - LEN(首位)) AS INT)
    + 1
    FROM (VALUES('首位','末位')) T(首位,末位)
    )
    )
    SELECT 首位 + CAST(
    CAST(RIGHT(首位, LEN(末位) - LEN(首位)) AS INT)
    
    N.N - 1 AS VARCHAR(100)
    )
    FROM N, M, (VALUES('首位','末位')) T(首位,末位)
    ORDER BY N;
    
    

    请注意将首位和末位替换为自己的值。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月13日

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料