1、instr(str,indexstr)函数:
instr函数是用来在str字符串下搜索指定的字符,并返回查找的字符的位置,如果能在str下查到,就返回该字符的位置,查不到就返回0。
格式1:instr(str,indexstr)
格式2:instr(str,indexstr,index_1,index_2)。解释:代表indexstr在str中下标为index_1的位置往后,indexstr第几次出现的位置,可能比较拗口,可以看下面的实例。
Mysql中举例:
`select instr('hellooworrrld','o') from dual;
---返回的是5,解释:想要在hellooworrrld中查找o第一次出现的位置,
---下标从1开始,第五个正好是o
select instr('hellooworrrld','ow') from dual;
---返回的是6,解释:想要在hellooworrrld中查找o第一次出现的位置,
---下标从1开始,第六个正好是ow
Oracle中举例:
oracle中instr函数除了有上述mysql数据库中的功能外,还有下面的情况:
select instr('hellooworrrld','o',3,2) from dual;
---返回的是6,解释:想要在hellooworrrld中在起始的下标是3的位置,
---查找o第二次出现的位置
select instr('hellooworrrld','o',6,2) from dual;
---返回的是8,解释:想要在hellooworrrld中在起始的下标是6的位置,
---查找o第二次出现的位置
2、nvl()函数和ifnull()函数
Oracle中的nvl(表达式a,表达式b)函数的意思是:如果表达式a为空,那么返回表达式b,否则返回表达式a。所以在Mysql数据库中可以使用ifnull()函数带代替nvl()函数来实现。
3、dual虚表
在mysql中不能使用dual作为别名
例如:select * from tbl_a as dual;
这样执行sql是会报错的。
在oracle中则是可以正常执行的。