Oracle/ INSTR 函数
4参数:
被检索字符串
检索的字符串
哪里开始(默认1)
找第几个(默认1)
SQL> SELECT
2 INSTR('easy come, easy go, so easy!', 'easy') A,
3 INSTR('easy come, easy go, so easy!', 'easy', 3) B,
4 INSTR('easy come, easy go, so easy!', 'easy', 3, 2) C
5 FROM
6 dual;
A B C
---------- ---------- ----------
1 12 24
SQL SERVER / CHARINDEX 函数
3参数
检索字符串
被检索字符串
哪里开始(默认1)
1> SELECT
2> CHARINDEX('easy', 'easy come, easy go, so easy!') A,
3> CHARINDEX('easy', 'easy come, easy go, so easy!', 3) B
4> go
A B
----------- -----------
1 12
MySQL / INSTR、 LOCATE函数
MySQL INSTR只支持从第一个字符开始找第一个
LOCATE支持从指定位置开始找
mysql> SELECT
-> INSTR('easy come, easy go, so easy!', 'easy') A
-> //
+---+
| A |
+---+
| 1 |
+---+
1 row in set (0.00 sec)
mysql> SELECT
-> LOCATE ('easy', 'easy come, easy go, so easy!', 2) A
-> //
+----+
| A |
+----+
| 12 |
+----+
1 row in set (0.00 sec)
sqlserver
select charindex(value,name) from tablename;
oracle
select instr(name,value) from tablename;
注意sqlserver和oracle中两个参数的位置时相反的。
select charindex(value, name) from table