行政区划分级处理!
项目上经常能遇到数据表转换的需求,比如行政区划表,有时候行政区划表长这样:
initial: 130103---->河北省石家庄市桥东区
但是实施的时候需要用到这样的
result:130000—>河北省;
130100—>石家庄市;
130103—>桥东区;
单列形式,在已有码表的情况下当然是sql来的简单粗暴(当然为了不留后患最好还是写到官网爬最新的数据,网址路径在下面都有);sql思路也很简单:标准行政区划地区结束名为—省、市、县、区,所以出现这四个字后替换为 “【省/市/县/区】+【空格】”,然后去掉最后的空格,用split函数转为数组后区指定位置的,因为生成之后发现二级区划中的【市辖区】变成了【辖区】,所以在最后需要将辖区这个词替换一下。(数据库不同支持的函数不同,这个就需要具体修正了,我这里用的是hsql)
- select primitive,
- case when dictionary_describe = '辖区'
- then '市辖区'
else dictionary_describe end as dictionary_describe
from (
select
pr