表x有 一列 ,程序每次生成id的时候都先从这里获取最大值再加1,初始值是A0001,然后到A9999的时候则是到B0001 共5位
2024-10-13 20:34:54
drop table x
go
create table x(id varchar(10))
--insert into x values('A001')
go
with a as (
select ISNULL(max(id),'A0000') maxid from x)
insert into x (id)
select
case when RIGHT(maxid,4)<9999
THEN LEFT(maxid,1)+RIGHT('000'+CAST(RIGHT(maxid,4)+1 AS VARCHAR(10)),4)
ELSE CHAR(ASCII(LEFT(maxid,1))+1)+'0001'
end
from a
go 10000
select * from x
go
--两位
drop
table
x
go
create
table
x(id
varchar
(10))
go
with
a
as
(
select
ISNULL
(
max
(id),
'A00'
) maxid
from
x)
insert
into
x (id)
select
case
when
substring
(maxid,2,30) =
'99'
then
CHAR
(ascii(
left
(maxid,1)) +1) +
'01'
else
LEFT
(maxid,1) +
right
(
'0000'
+
cast
((
SUBSTRING
(maxid,2,30) + 1 )
as
varchar
(30)) ,2)
end
from
a
go 200
select
*
from
x
go
最新文章
- 关于C#开发WEB项目TextBox控件的自适应高问题解决办法!
- 【转载】实用的Javascript获取网页屏幕可见区域高度
- WNDR3700V4恢复原厂固件(使用TFTP刷网件原厂固件)
- 【PHP设计模式 02_JieKou.php】面向接口开发
- C++-不要在构造和析构函数中调用虚函数
- CodeForces Round #287 Div.2
- 不使用var定义变量和使用var的区别
- Map集合中的一些具体方法的体现
- ClientScriptManager与ScriptManager向客户端注册脚本的区别
- Swift搭建服务端
- [Codeforces]813F Bipartite Checking
- C# EntityFramework Code First 迁移 降级 回退到空数据库
- swust oj 237
- java中PriorityBlockingQueue 和DelayedWorkQueue 区别
- mariadb:分区自动创建与删除
- mysql5.5升级到5.7
- 【转】每天一个linux命令(48):watch命令
- HTML5 FormData实现文件上传实例
- bzoj2759
- idea 插件