SQL批量插入数据并且实现字符串的数字部分递增

本文介绍如何在SQL中实现编号中数字部分的递增,并提供了两种批量插入数据的方法:一种是使用T-SQL语句,另一种是利用Excel生成SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:实现编号“A001”中数字部分递增

解决:

方式一:

①实现编号中数字部分“001”+1后变为“002,而不是2

DECLARE @id VARCHAR (10)
SET @id='A001'
SET @id = RIGHT(@id, 3) + 1
SET @id = 'A' + RIGHT ('000' +@id, 3)
SELECT @id
--------
结果:打印出的id为A002
②使用循环批量插入数据
DECLARE @id varchar(10),@Counter INT
SET @id='A001'
SET @Counter = 0          /*设置变量*/ 
WHILE (@Counter < 10)     /*设置循环次数*/ 
BEGIN
INSERT INTO TableName VALUES(@id);	/*插入表中,TableName为你的表*/
SET @id= RIGHT(@Id, 3) + 1
SET @id = 'A' + RIGHT ('000' +@id, 3)
SET @Counter=@Counter+1 
END


方式二:通过Excel批量生成SQL语句
①方法一:
将Excel的数据整理好,通过SQL的导入功能直接导入到数据库中,但是要保证数据库的字段和Excel的字段一致。
②方法二:
通过Excel生成相应的SQL语句,然后放到SQL的新建查询中执行
在单元格中写入公式:="INSERT INTO TableName(Column1,Column2) VALUES('"&A1&"','"&B1&"') "
然后直接从头拉到尾(或者选中公式的单元格,在指针变为十字后双击,即可自动填充),然后直接复制相关的SQL语句在数据库中执行

③改进:
一次插入多条数据比逐次一条一条的插入数据效率高很多,因此将语句改为如下:

INSERT INTO TableName(Column1,Column2)
VALUES
('Value1.1','Value1.2'),
('Value2.1','Value2.2'),
('Value3.1','Value3.2')
之后还是通过Excel批量生成Values后面的要插入的数值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值