MYSQL实现ORACLE INSTR功能
2013-08-26 16:24
351 查看
INSTR(str,substr)函数在MYSQL和ORACLE数据库中都是表示substr在str字符串中出现的位置
但是MYSQL数据中该函数只有两个参数,在ORACLE中则有4个参数 INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)。例如:
上述的例子可以改为:
但是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
相关文章推荐
- MySQL实现类似Oracle中start with功能
- MySQL实现类似Oracle中的decode()函数的功能见解 乐杨俊
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
- 用mysql实现类似于oracle dblink的功能
- mysql实现oracle分析函数功能 over
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能优化
- mysql使用federated_实现类似oracle的dblink的功能
- oracle使用substr instr实现类似于java substring的功能
- 【转】MySQL实现Oracle里的 rank()over(ORDER BY) 功能
- mysql 实现oracle中sequence 功能
- MYSQL-实现ORACLE 和SQLserver数据中- row_number() over(partition by ) 分组排序功能
- mysql实现oracle分析函数功能 over
- mysql实现oracle lag功能
- Oracle SQL中实现indexOf和lastIndexOf功能,substr和instr用法
- mysql中使用tee实现类似oracle spool功能
- MySQL之实现Oracle中的rank()函数的功能
- mysql--实现oracle的row_number() over功能
- Oracle如何实现类似MySQL的show create table,show index的功能
- oracle实现分页与mysql实现分页功能
- MYSQL-实现分组排序 对比 ORACLE 和SQLserver用 row_number() over(partition by ) 分组排序功能