因工作需求,要将行政区划后7位和后5位转化,然后将code转化为实际的区划名称更加直观。
--原始区划可能是12210000,需求将其转为region_code留前两个字符,region_code_1留前四个字符
--region_code_1留前四个字符,并在后面拼接五个0
UPDATE ceshi_back SET region_code_1 = CONCAT(SUBSTR(region_code_1, 1, 4), '00000');
--region_code留前两个字符,并在后面拼接七个0
UPDATE ceshi_back SET region_code = CONCAT(SUBSTR(region_code, 1, 2), '0000000');
将区划转为name形式
--t_cc_region为存放name与code对应关系的表
UPDATE ceshi_back
SET region_code = b.name
FROM t_cc_region b
WHERE ceshi_back.region_code = b.code;
处理完毕后的样子
如有需求还可以将其拼接一下
SELECT CONCAT(region_code,region_code_1) from ceshi_back group by CONCAT
今天又遇到一个需求,需求用到字符串替换,再做一下记录。
--需要将ip字段去做批量替换,使用replace即可,例如我需要将字符串中的192.168.8.154这个ip批量修改为192.168.8.188ip
update ceshi set proxy_service_url="replace"(proxy_service_url, '192.168.8.154', '192.168.8.188') where proxy_service_url like '%192.168.8.154%'
--实际测试中无需添加where proxy_service_url like '%192.168.8.154%'也可修改,这个类似于sed命令中的匹配修改。