soporta segundo por optimizar lentas eficientes cuantas consultas con mysql indexof

por - MySQL segundo(o tercero) índice de en cadena



optimizar consultas lentas mysql (3)

En general, puede seleccionar la palabra nth en una cadena usando:

SET @N = 3; -- 3rd word SET @delimiter = '' ''; SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(words, @delimiter, @N), @delimiter, -1) FROM my_table

Cuál sería la forma más sencilla de ubicar el índice del tercer espacio en una cadena.

Mi objetivo es sacar a CCC de esta lista separada por espacios: AAAA BBBB CCCC DDDD EEE . donde A y B y D son de longitud fija, y C es de longitud variable, EFG es opcional.

En Java usaría indexof, con un punto de inicio de 10 y eso me daría el tercer espacio, pero parece que no puedo hacer eso en MySQL, así que pensé que tal vez podría encontrar una función de ''tercer índice de''.



Usted querría usar la función SUBSTRING_INDEX como esta

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field, '' '', 3), '' '', -1) FROM table

La llamada a la función interna lo llevaría a AAAA BBBB CCCC mientras que la llamada a la función externa lo reduciría solo a CCCC .