mysql.h


LOCATE(), POSITION()

LOCATE(substr,str)  
LOCATE(substr,str,pos)
POSITION(substr IN str)

La primera forma devuelve la posición de la primer aparición de la cadena substr dentro de la cadena str. La segunda devuelve la posición de la primera aparición de la cadena substr dentro de la cadena str, comenzando en la posición pos. Devuelve 0 si substr no está en str.

mysql> SELECT LOCATE('bar', 'foobarbar');
+----------------------------+
| LOCATE('bar', 'foobarbar') |
+----------------------------+
|                          4 |
+----------------------------+
1 row in set (0.00 sec)

mysql> SELECT LOCATE('xbar', 'foobar');
+--------------------------+
| LOCATE('xbar', 'foobar') |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (0.00 sec)

mysql> SELECT LOCATE('bar', 'foobarbar',5);
+------------------------------+
| LOCATE('bar', 'foobarbar',5) |
+------------------------------+
|                            7 |
+------------------------------+
1 row in set (0.00 sec)

Esta función es segura con cadenas multibyte. En MySQL 3.23 esta función distingue entre mayúsculas y minúsculas, en la versión 4.0 sólo si cualquiera de los argumentos es una cadena binaria.

POSITION(substr IN str) es sinónimo de LOCATE(substr,str).