您的位置:首页 > 数据库 > Oracle

MYSQL实现ORACLE INSTR功能

2013-08-26 16:24 351 查看
INSTR(str,substr)函数在MYSQL和ORACLE数据库中都是表示substr在str字符串中出现的位置
但是MYSQL数据中该函数只有两个参数,在ORACLE中则有4个参数 INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)。例如:
instr('das/das/dsa/sads','/',1,2);
上述方法是ORACLE中获取‘/’在字符串
‘das/das/dsa/sads’中出现的位置,参数1是源字符,参数2是被搜索的字符串,参数3,1表示从第一位开始(默认是从1开始),参数4,表示取第2个匹配项的位置,即第2次出现的位置。

由于MYSQL的INSTR函数只支持两个参数,所以只能搜索第一次出现的位置,在网上搜索了一下,终于找到了方法:


LENGTH(SUBSTRING_INDEX(str,substr,index))+1
 其中str参数为源字符串,substr为被搜索的字符串,index表示匹配的次数。
上述的例子可以改为:
LENGTH(SUBSTRING_INDEX('das/dsa/dsa/asds','/',2))+1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: