在Navicat 中给Mysql中的某字段添加前缀00

时间:2022-09-02 15:07:22

  第一次分享心得,希望大家多多关注。

   我遇到的情况是这样的,在Navicat中某表的varchar字段内容长度不够5的在内容前面添加‘0’;如字段内容是 101 我就要改成00101;

   其中有2个难点:1.判断字段内容的长度(我认知不够的原因) 2.给字段内容添加前缀;

    之前的错误sql是  

update base_sf set diy_code=‘00’+diy_code

where pk in (select pk from base_sf where LENGTH(diy_code)=3)

 这样在Navicat中diy_code被当成数值,所以一直不能成功。

 正确的sql是

update base_sf set diy_code=concat('0',diy_code)

where pk in (select * from (select pk from base_sf where LENGTH(diy_code)=4) tmp)