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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章