繁体   English   中英

如何在 SQL 服务器中添加自动增量值

[英]How do I add Auto-increment value in SQL Server

我需要为现有客户生成7 位代码(备用 ID)。 例如。 这是我现有的客户表结构

ID     Name    Address    City   AlternateID
101    Test1    NO 4,..    LA     0000001  
102    Test2    NO 3,..    TA     0000002 

我们必须每天运行这个脚本。 最后一个数字存储在不同的表中。 第二天从存储在表中的最后一个数字开始。

(Ex. 1st day added 30 customers means "0000030" 
     2nd day added 10 customers means "0000040")

我想知道当数字增加时如何减少“0”的查询

Like - Single-Digit number "0000001"
     - Double-Digit number "0000010"
     - Triple-Digit number "0000100" 

很快。

你可以做:

select t.*,
       right(concat('0000000', row_number() over (order by id)), 7) as AlternateID
from table t;

您可以使用:

update t
    set alternateid = format(row_number() over (order by id) + ot.max_alternateid, '0000000')
    from t cross join
         othertable ot
    where alternateid is null;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM