sql server—sql—如何获取列的值并将其作为新列的值放在字符串的末尾

5lhxktic  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(410)

因此,我想在一个包含许多行的表上获取主键,并创建一个新列,将这些值放在字符串的末尾。例如:
如果pk值是1,2,3。。。999,新列中的新值应为dev00001、dev00002、dev00003。。。dev00999。
到目前为止我拥有的(这个表上的pk是id):

ALTER TABLE table_name
ADD COLUMN EXTRA_ID VARCHAR(10) NOT NULL

UPDATE table_name SET
EXTRA_ID='DEV0000'+ID
WHERE ID < 10

UPDATE UPDATE table_name SET
EXTRA_ID='DEV000'+ID
WHERE ID < 100

UPDATE table_name SET
EXTRA_ID='DEV00'+ID
WHERE ID < 1000

这样行吗?也欢迎任何其他解决方法

jhiyze9q

jhiyze9q1#

不需要多次查询。在sql server 2012及更高版本中,可以使用 format() 到左键盘 id 相关号码 0 学生:

update table_name
set extra_id = 'DEV' + format(id, '00000')

相关问题