Como saber si un dato es numérico o alfanumérico

El problema, es que extraigo el numero de empleado de una tabla para mostrarlo en un reporte... Pero algunos números de empleados tienen letras (ej.:0019EA, son alfanuméricos) .. Bueno, quiero que esos no se muestren en el reporte... Creo que con un código que me ayude a identificar cual es numero y cual es alfanumérico seria suficiente..
Bueno..

1 respuesta

Respuesta
1
Pues mira, si estas sacando el Número de Empleado del mismo campo, entonces todos son alfanuméricos, de tipo carácter, ya que no puedes tener más de un tipo de dato en la misma columna de una tabla. Según entiendo, hay algunas claves que solo tienen número y hay otras que tienen número y letras, pero el hecho de que algunos tengan números no hace que sean de tipo numérico. Ahora que si tu estas sacando los datos de diferentes campos, si podrías tener tipos de datos diferentes.
En el primer caso, podrías usar un código que identifique si la cadena de caracteres contiene alguno que no sea número, para después excluirlo.
cValor = ALLTRIM(CampoTabla)
nLong = LEN(cValor)
FOR nCont = 1 TO nLong
        IF NOT BETWEEN(ASC(SUBSTR(cValor, nCont, 1)), 48, 57)
                ** Contiene un caracter que no es número
        ENDIF
ENDFOR
En el segundo caso, puedes usar funciones que te dicen de que tipo de dato es alguna Variable o el Campo de una tabla.
IF VARTYPE(CampoTabla) != "N" && o IF TYPE("CampoTabla") != "N"
        ** No es numérico
Endif
Buena respuesta... no se como este el campo, porque la verdad es un programa que estoy componiendo, pero con la solución que pones en el primer caso... me ha funcionado
Saludos y gracias

Añade tu respuesta

Haz clic para o