Ayuda con una cadena

Necesito ayuda con una cadena de caracteres...
El campo es de tipo carácter, pero necesito contabilizar cuantas candenas de 13 dígitos hay en cada fila... Ejemplo.
1057559199999 - 1057559199999 - 1057559199999
como contabilizo cuantas cadenas de 13 números hay... Ya intente de muchas formas, pero nomas no...
Cabe mencionar que después de la cadena también hay algunas veces hay letras, por ejemplo:
1057559199999 - PRPRSL72031229H900 - 01
Para este caso, solo necesitaría el valor de la primera cadena de 13 números, que seria 1
si alguien me ayuda por favor...

1 respuesta

Respuesta
1
Bueno no se si soy yo o las preguntas están mal formuladas, últimamente no entiendo las preguntas, bueno to contaría el largo de la cadena y lo dividiría entre 13 los decimales deberán ser los guionesn entre ellos que deben ser exactamente el numero entero-1 otra forma seria extrayendon lo caracteres cada trece con subs(cadena, 1,13)la próxima entraccion seria subs(cadena, 15,13) tomado en cuenta el guion. No se si me aclras un poco más la pregunta podría pensar en algo.
Ok.. va de nuez... tengo un campo que se llama doc_anexa, y es de tipo carácter, los datos que pueden estar en el campo pueden ser los siguientes:
1.-1020102105180 - 1020102105180 -
2.- 0925152109565 -0925152109565 -0925152109565
3.- HRHRMR91011031H200 - 00
4.- 1050502106315 - VZVZAL91091330H700 - 00
estos son los 4 tipos de información que puede contener el campo...
¿Qué es lo que quiero?
Primero... necesito saber cuantas cadenas de 13 dígitos consecutivos hay, por ejemplo:
Para el punto 1, tendría ser 2,
para el punto 2, tendría que ser 3,
para el punto 3 nada, por que no tiene un consecutivo de 13 dígitos seguidos como los demás
paa el punto 4, tendría que ser 1.
Ya lo intente de la siguiente manera
SUBSTR(DOC_ANEXA,1,4)>=alltrim("08") or SUBSTR(DOC_ANEXA,17,4)>=alltrim("08") or SUBSTR(doc_anexa,33,4)>=alltrim("08")
Para el punto 4 si me funciona, pero para el punto 2 o 3, no me lo reconoce y me saca otra información que no quiero...
Espero tu ayuda... gracias...
Bueno primero que nada no entiendo porque sacas 4 caracteres y lo compras solo con dos '08' Otra cosa es que si no me equivoco es que el guion a veces tiene un espacio antes y a veces otro después eso dificulta que vaya sacando cada 13 caracteres y comparando si el 14 es un - paras saber si continua en otra cadena de 13 dígitos esto seria de la siguiente forma si los guiones estarían seguidos sin espacio
f=len(cadena)
for i=1 to f skip 14
   if Subs(cadena,i,14)='-'
       nrodedatos=nrodedatos+1
   Endif
Endfor
Voy sacando de 14 en catorce para saber si hay continuidad
Pues no... el guion lleva un espacio antes y uno después...
Bueno pues busco el 15

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas