mysql自定义函数,从地区字段中提取地级市字段

mysql自定义函数,从地区字段中提取地级市字段,其中地区字段中部分包含省、县级市、街道、市区等脏数据,以河北省提取地级市字段为例,以下为提取数据中的部分示例数据:
保定市莲池区建华大街774号
河北省保定市莲池区华电路 736 号
高碑店市世纪大街67号华贸广场
永年县公安局
秦皇岛经济技术开发区
石家庄市长安区建设北大街11号石家庄市文化广电和旅游局

自定义函数如下:

CREATE DEFINER FUNCTION `get_region_HB`(region_HB VARCHAR(255)) RETURNS varchar(255) CHARSET utf8mb4
BEGIN
	DECLARE str VARCHAR(255) DEFAULT '';
	DECLARE str2 VARCHAR(255) DEFAULT '';
	DECLARE str3 VARCHAR(255) DEFAULT '';
	DECLARE str4 VARCHAR(255) DEFAULT '';
	DECLARE str5 VARCHAR(255) DEFAULT '';
	DECLARE str6 VARCHAR(255) DEFAULT '';
	SET @region = region_HB;
	set @str = REPLACE(CONCAT(SUBSTRING_INDEX(@region,'市',1),'市'),'河北省','') ;
	set @str2 = if(LENGTH(@str)<=4,@str,SUBSTR(@str,1,4));
  set @str3 = if(@str2 like '%县%','',@str2);
	set @str4 = if(@str3 like '%市%',@str3,'');
	set @str5 = if(@str4 like '%区%','',@str4);
	set @str6 = 
	CASE @str5
	WHEN '藁城市' THEN ''
	WHEN '平泉市' THEN ''
	WHEN '辛集市' THEN ''
	WHEN '晋州市' THEN ''
	WHEN '新乐市' THEN ''
	WHEN '鹿泉市' THEN ''
	WHEN '遵化市' THEN ''
	WHEN '迁安市' THEN ''
	WHEN '武安市' THEN ''
	WHEN '南宫市' THEN ''
	WHEN '沙河市' THEN ''
	WHEN '涿州市' THEN ''
	WHEN '定州市' THEN ''
	WHEN '安国市' THEN ''
	WHEN '高碑店市' THEN ''
	WHEN '泊头市' THEN ''
	WHEN '任丘市' THEN ''
	WHEN '黄骅市' THEN ''
	WHEN '河间市' THEN ''
	WHEN '三河市' THEN ''
	WHEN '霸州市' THEN ''
	WHEN '冀州市' THEN ''
	WHEN '深州市' THEN ''
	ELSE
		@str5
END;
	RETURN @str6;
END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值