Identificar posición de carácter a través de una c

Quisiera ver si me puedes apoyar con lo siguiente:
Tengo un campo de 14 caracteres (METODOS=22212222122122 ) del cual necesito saber qué posición tiene el segundo número uno del campo y como puedo mandar la posición a otro nuevo campo (SEGUNDO), esto lo tengo que hacer para cada registro por ejemplo:
MÉTODOS PRIMERO (esto es lo que quiero de salida)
11222221222222 2
22211221222222 4
22222221222222 0
21222221222222 8
12222222221222 11
22222222222222 0
Gracias y espero tener pronta ayuda.

1 respuesta

Respuesta
1
Espero poder ayudarte:
Lo primero que veo es que tu ejemplo no se corresponde con tu solicitud, si es así por favor avisarme. Te digo esto porque en la segunda linea, el segundo "1" esta en la posición 5 y no 4 como indica el resultado.
Pero salvo esto, supongo que es un error.
Bueno para hacer eso que necesitas se utiliza la función AT.
Esta función retorna la posición del carácter, dentro de otra cadena y podes decirle el numero de ocurrencia.
Para tu caso sería:
AT('1', métodos, 2)
Para que el valor del campo "primero" tome ese resultado, incluila en un replace.. algo así:
replace all primero with at('1',metodos,2)
Espero haya sido de utilidad y si es así, por favor cerrá la pregunta.
Estoy a tu dispoción.
Chritian
Keystone
www.keystone.com.ar
Christian,
Gracias por tu apoyo de hecho lo logre hacer con lo siguiente:
use N.DBF
GO TOP
DO WHILE !EOF()
pr = 0
pr=AT("1",UNION,2)
replace segundo WITH pr
SKIP
enddo
Más sin embargo, tu aportación me ha sido de mucha ayuda ya que no pensé en ponerlo directamente en un REPLACE.
Mil gracias
Saludos. Reyna

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas