Ver Mensaje Individual
  #7 (permalink)  
Antiguo 26/05/2011, 09:48
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Buscar un dato a partir de una Cadena mas larga

Un paseo por el manual de referncia puede ser una buena idea: MySQL 5.0 Reference Manual :: 12 Funciones y operadores
Usa INSTR().
Cita:
INSTR(str,substr)

Retorna la posición de la primera ocurrencia de la subcadena substr en la cadena str. Es lo mismo que la forma de dos argumentos de LOCATE(), excepto que el orden de los argumentos es inverso.
Código MySQL:
Ver original
  1. mysql> SELECT INSTR('foobarbar', 'bar');
  2.         -> 4
  3. mysql> SELECT INSTR('xbar', 'foobar');
  4.         -> 0
Esta función puede trabajar con múltiples bytes. En MySQL 5.0, sólo es sensible a mayúsculas si uno de los argumentos es una cadena binaria.
o bien LOCATE()
Cita:
LOCATE(substr,str) , LOCATE(substr,str,pos)
La primera sintaxis retorna la posición de la primera ocurrencia de la subcadena substr en la cadena str. 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.
Código MySQL:
Ver original
  1. mysql> SELECT LOCATE('bar', 'foobarbar');
  2.         -> 4
  3. mysql> SELECT LOCATE('xbar', 'foobar');
  4.         -> 0
  5. mysql> SELECT LOCATE('bar', 'foobarbar',5);
  6.         -> 7
Esta función trabaja con múltiples bytes. En MySQL 5.0, es sensible a mayúsculas sólo si algún argumento es una cadena binaria.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)