[英]how to update a column with same sequence
我需要将具有另一列(userID)的表更新为Lastname Column。所以我已经编写了这样的查询
update User set LastName = +'LastName_'+ CONVERT (varchar(10),UserID)
结果像这样
UserID FirstName LastName
1 AALIYAH Bhatt_1
2 Mohan Kumar_2
3 varun ratna_3
4 suresh rania_4
5 AARON suresh_5
etc ......
4500 Kalyan raju_4500
4501 raohan manish4501
以及如何获取序列中的姓氏。.例如参见4500的最后一列,因此姓氏将更新为raju_4500并以名字userId(1)开头,姓氏为Bhatt_1
我怎么能顺序
UserID FirstName LastName
1 AALIYAH Bhatt_0001
2 Mohan Kumar_0002
3 varun ratna_0003
4 suresh rania_0004
5 AARON suresh_0005
etc ......
4500 Kalyan raju_4500
4501 raohan manish4501
建议我
此表达式为您提供最大UserID的长度:
select len(max(userid)) from User
您可以在这样的数字上加上前导零:
select right('0000000000' + convert(varchar(10), /*number*/), /*length*/)
因此,将它们放在一起,我会这样做:
declare @length int = (select len(max(userid)) from User)
update User set LastName = 'LastName_' +
right('0000000000' + convert(varchar(10), UserID), @length)
我认为这会起作用
update User set LastName = +'LastName_'+ RIGHT('0000'+ CONVERT(varchar(10),UserID),4)
试试这个
update User set LastName = +'LastName_'+ RIGHT('0000'+ CONVERT(varchar(10),UserID),4)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.