注释:如果现数据表只有一个area_id(包括省id、市id、区id)和 area_type标志地区级别(一级、二级、三级)
要分别匹配出省id、市id、区id
关系:example:省:内蒙古自治区 对应:area_id 15 0000
市:呼和浩特市 对应:area_id 15 01 00
区:新城区 对应:area-_id 15 01 02
SELECT
area_id AS district_id,
CASE
WHEN LENGTH(area_id) = 9 THEN
LEFT (area_id, 6)
ELSE
CONCAT(LEFT(area_id, 4), '00')
END AS city_id,
CONCAT(LEFT(area_id, 2), '0000') AS province_id,
area_name AS district_name
FROM
ysj_area
WHERE
area_type = 2
执行结果如下: