Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/10/2009, 15:10
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Problema con locate

Cita:
La segunda sintaxis retorna la posición de la primera ocurrencia de la subcadena substr en la cadena str, comanzando en la posición pos. Retorna 0 si substr no está en str.
Tomado de http://dev.mysql.com/doc/refman/5.0/...unction_locate

Si miramos este ejemplo que te pongo:

Código mysql:
Ver original
  1. mysql> select Locate('/', '4/2/3', 0);
  2. +-------------------------+
  3. | Locate('/', '4/2/3', 0) |
  4. +-------------------------+
  5. |                       0 |
  6. +-------------------------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> select Locate('/', '4/2/3', 1);
  10. +-------------------------+
  11. | Locate('/', '4/2/3', 1) |
  12. +-------------------------+
  13. |                       2 |
  14. +-------------------------+
  15. 1 row in set (0.00 sec)
  16.  
  17. mysql> select Locate('/', '4/2/3', 3);
  18. +-------------------------+
  19. | Locate('/', '4/2/3', 3) |
  20. +-------------------------+
  21. |                       4 |
  22. +-------------------------+
  23. 1 row in set (0.00 sec)
  24.  
  25. mysql> select Locate('/', '4/2/3', 2);
  26. +-------------------------+
  27. | Locate('/', '4/2/3', 2) |
  28. +-------------------------+
  29. |                       2 |
  30. +-------------------------+
  31. 1 row in set (0.00 sec)

Se podría determinar que la posición 0 no existe. Si vamos a recorrer la cadena, fijate que cuando le damos posición 1, el toma a 1 como el carácter 4. Si le decimos que empiece en 3 (Caracter 2) la próxima coincidencia de (/) será en 4. Por ultimo, si empezamos en 2 (carácter /) también será incluido y retorna ekl mismo valor. La posición 2.

Si se entiende?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming