第一次分享心得,希望大家多多关注。
我遇到的情况是这样的,在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)