一、前言
因为项目数据的地址是树形,格式:440000;440300;440312;659971;
查询出的数据又需要转为中文:XXX省XXX市XXX区欢乐港湾东岸L2-016
所以需要借助sql存储过程实现
二、思路
- 把要读取数据的所有地址编码都查询出来
- 解析地址编码,因为地址编码是分号分隔,所有根据分号循环每个编码解析,解析后再拼接
- 把解析好的地址编码和地址名称存入一张数据表(存的时候利用唯一索引去重)
- 业务数据再和解析好的表关联查询
三、代码
创建解析数据存储表
CREATE TABLE `temp_address` (
`addressCode` varchar(1024) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`addressName` varchar(1024) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
UNIQUE KEY `唯一值` (`addressCode`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
循环获取业务数据中的地址
#因为系统中使用的地址都是编码,格式:440000;440300;440312;659971;
#如果直接使用sql查询数据时,需要转译为中文
#思路:把系统中所