mysql取2个字符串中的结果的函数

CREATE FUNCTION `sp_str`(p_str text, p_begin_str text,p_end_str text) RETURNS text CHARSET utf8
BEGIN
	/*
截取指定的两个字符串之间的内容
SELECT sp_str('[]abcd[12345]aa[]ss','abcd[',']'); 
*/
  declare p_result text;	
	DECLARE m_len INT DEFAULT 0; 
	DECLARE m_index INT DEFAULT 0; 
	/*计算第一个匹配字符串的索引位置*/ 
	if locate(p_begin_str,p_str)=0 THEN
		set	p_result='';
	ELSE
		select locate(p_begin_str,p_str)+char_length(p_begin_str) into m_index;	
		/*计算第一个匹配字符串的长度*/ 
		select locate(p_end_str,p_str,m_index) into m_len; 
		select SUBSTRING(p_str,m_index,m_len-m_index) INTO p_result ; 
	end if;
	
  RETURN p_result;
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值