MSSQL/SQLServer中UPDATE或INSERT依次递增做假数据的实现

  • 在开发中,遇到一个做假数据的问题。需要在用户表插入一百条左右的测试账号。
  • 首先,用户编号是通过GUID遍历后加入时间戳等方式生成的唯一的十六位以上的字符串;然后手机号不能唯一,用作登录时匹配。
  • T-SQL编写思路就是,以一条克隆帐号为例,截取用户编码前位数-3位的字符串+递增数字。手机号亦然。
  • 下面以SQL SERVER数据库的修改为例,Insert思路是一样的。
--设置一个递增变量INT类型的i,初始值为100,在每次操作后+1,实现递增。
--使用到的聚合函数有LEFT([要截取的字符串],[从左到右要截取的位数])、LEN([字符串]):返回字符串长度、CONVERT([要转换的类型],[要转换的变量])。
--该语句是更新ID300-400的假数据的用户编号和手机号。
declare @i int
set @i=100
UPDATE dbo.[User] SET @i=@i+1,SerialNumber=LEFT(SerialNumber,LEN(SerialNumber)-3)+convert(varchar,@i),
MobilePhone=LEFT(MobilePhone,LEN(MobilePhone)-3)+CONVERT(VARCHAR,@i) WHERE Id BETWEEN 300 AND 400

【拓展】
加前缀:UPDATE 表名 SET [字段α]=CONCAT(‘要加的内容’,字段名) where 字段名=1
加后缀:UPDATE 表名 SET [字段α]=CONCAT(,‘要加的内容’) where 字段名=1

猜你喜欢

转载自blog.csdn.net/qq_33391499/article/details/105349093