我在表a中有一个名为EmpNumber的列。我有一系列记录,其中EmpNumber列以CC开头。例如:CC21、CC33、CC43等。
我想在每个以CC开头的EmpNumber后面附加一个a。
CC21是CC21a,CC33是CC33a,CC41是CC41a
我可以通过指定初始值和要更改的内容来手动执行此操作,但我正在查看几百个手动更改。
对于以CC开头的所有记录,有没有一个查询可以做到这一点?

最佳答案

您可以在update中使用left()函数和一个case

update table
set EmpNumber = case when left(EmpNumber,2) = 'CC'
  then concat(EmpNumber,'a')
  else EmpNumber end

left(EmpNumber,2)将从列中选择开始的2个字符,如left('test',2)将得到'te',因此在case中比较左函数的结果,如果等于'cc',则用所需字符连接列
按照Michael Berkowski的建议进行编辑是的,您可以在
update table
set EmpNumber =  concat(EmpNumber,'a')
where left(EmpNumber,2) = 'CC'

关于mysql - 具有相同命名模式的MySQL更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25553721/

10-13 00:51