substring_index(string, delimiter, number)
string:原始字符串。
delimiter:查找的分隔符。
number:搜索分隔符次数。若为正数,则从左侧开始查找,若为负数,则从右侧开始查找。
instr( string, substring [, start_position [, th_appearance ] ] )
string:原始字符串。
substring:截取字符串。
start_position:可选,默认为1。字符串开始位置。若为负熟,则从字符串的末尾算起,然后向字符串的开头进行搜索。
th_appearance:可选,默认为1。搜索子字符串的第n次出现。
substr( string, start_position [, length ] )
string:原始字符串。
start_position:截取字符串起始位置。
length:截取长度
create function substring_index(f_string in text, f_delimiter in varchar2, f_position in number) return text
as
o_string text;
v_direction int;
v_instr_pos int;
begin
IF f_position = 0 THEN
RETURN '';
END IF;
if f_position > 0 then
v_direction := 1;
select instr(f_string, f_delimiter, v_direction, f_position) into v_instr_pos;
select substr(f_string, 1, case when v_instr_pos = 0 then length(f_string) else v_instr_pos - 1 end) into o_string;
else
v_direction := -1;
select instr(f_string, f_delimiter, v_direction, abs(f_position)) into v_instr_pos;
select substr(f_string, v_instr_pos + 1, length(f_string)) into o_string;
end if;
return o_string;
end substring_index;
substring_index(str,delim,count) 例子:str=blog.csdn.net 如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容 相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如: 如果要中间的的csdn怎么办? 很简单的,两个方向: 从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边: 应用场景: 在数据库某些字段需...
运行SQL: 查询结果:...
目录 环境 文档用途 详细信息 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5 文档用途 MySQL中substring_index(str,delim,count)函数简介 str是要处理的字符串,delim是分隔符,count是计数。 如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容。 相反,如果是负数,那么就...
基本语法 示例 参考 【MySQL】字符串截取之substring_index...
先看一下我的数据库相关数据,只有id和name 接下来我们写一段sql 查看结果 是不是有点蒙 这是啥意思? 我们来解释下这个函数的相关参数含义: 参数一:t.name 这个很简答 相信大家都知道是表里面的一个字段也是我们需要操作的一个字段 参数二: ‘,’ 这个使我们想要通过引号里面的内容进行标记,标记这个词 参数三大家就会理解为啥叫标记 参数三:这个数字大家切记不是索引...
MySQL的SUBSTRING_INDEX方法 参数说明: substring_index(str,delimiter,count) 1.str:需要拆分的字符串 2.delimiter:分隔符(记得引号) 3.count:第几个分隔符(分正负数) count为正数时,str字符从左往右数第count个delimiter,截止,左边全部内容为截取内容。 count为负数时,str字符从右往左数第c...
问题 使用 SUBSTRING_INDEX(str,delimiter,number) 函数 参考: https://www.runoob.com/mysql/mysql-functions.html 问题解决...
原文链接:https://www.cnblogs.com/heyonggang/p/8117754.html 一:left() 从左开始截取字符串 用法:left(str, length),即:left(被截取字符串, 截取长度) 结果为:www.yuan 二:right() 从右开始截取字符串 用法:right(str, length),即:right(被截取字符串,...