[OT] Como recorrer una cadena en MYSQL como GETWORDNUM() del VFP

1,332 views
Skip to first unread message

ZeRoberto

unread,
Aug 5, 2013, 12:50:19 PM8/5/13
to publicesvfoxpro
Hola a todos tengo un campo TEXT (Memo) donde guardo el numero de series del producto separados por comas, al momento de guardar lo marca en una tabla de series, esto lo hago manualmente desde el vfp, pero quiero hacerlo mediante SP existe alguna funcion el MySQL que me permita acceder a los items de una cadena como se hace con el ALINES() o GETWORDNUM() del VFP

Lo que quiero es listar la cadena e ir marcando todas las series.

Saludos

Carlos Miguel FARIAS

unread,
Aug 5, 2013, 4:42:03 PM8/5/13
to Grupo Fox
vas a ver funciones que hacen lo que creo que estas buscando (con SP)
Saludos: Miguel, La Pampa (RA)

Víctor Hugo Espínola Domínguez

unread,
Aug 5, 2013, 6:23:28 PM8/5/13
to publicesvfoxpro
Hola ZeRoberto

Prueba esto:

DELIMITER $$

CREATE FUNCTION 'GetWordNum' (
    Cadena     VARCHAR( NoSeCuantos ),
    Separador  CHAR( 1 ),
    Indice     INT )                RETURNS VARCHAR( NoSeCuantos )

BEGIN

DECLARE lcSever      VARCHAR( NoSeCuantos );
DECLARE lnPosSep   INT;
DECLARE lcElemento VARCHAR( NoSeCuantos );

SET lcElemento = SUBSTRING_INDEX( Cadena, Separador, Indice );
IF Indice > 1 THEN
    SET lcSever      = REVERSE( lcElemento );
    SET lnPosSep   = LOCATE( Separador, lcSever );
    SET lnPosSep   = CHAR_LENGTH( lcElemento ) - lnPosSep + 2;
    SET lcElemento = SUBSTRING( lcElemento FROM lnPosSep );
END IF;

RETURN lcElemento;

END $$

No tengo instalado MySql, por lo tanto no está probada la función.

Saludos,
Víctor.


ZeRoberto

unread,
Aug 5, 2013, 6:55:03 PM8/5/13
to publicesvfoxpro
Gracias a ambos voy a revisarlo y luego les cuento como me fue.

Saludos

Víctor Hugo Espínola Domínguez

unread,
Aug 5, 2013, 8:27:31 PM8/5/13
to publicesvfoxpro
Hola ZeRoberto


Esta función genera una tabla y se puede adaptar a Mysql sin mucho trabajo.

Saludos,
Víctor.

ZeRoberto

unread,
Aug 6, 2013, 5:36:53 PM8/6/13
to publicesvfoxpro
Gracias Victor, ya encontre tambien el equivalente al WordCount()

Saludos
Reply all
Reply to author
Forward
0 new messages