问题:实现编号“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的字段一致。
②方法二:
通过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后面的要插入的数值。