Oracle/PLSQL: prueba de valores alfanuméricos en una cadena

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: prueba de valores alfanuméricos en una cadena

Pregunta: En Oracle, quiero saber si un valor de cadena contiene solo caracteres alfanuméricos. ¿Cómo puedo hacer esto?

Respuesta: Para probar los caracteres alfanuméricos en una cadena, puede usar una combinación de las funciones LENGTH, TRIM y TRANSLATE integradas de Oracle.

Puede utilizar los siguientes comandos:

LENGTH(TRIM(TRANSLATE(string1, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-.0123456789', ' ')))

string1 El valor de cadena que está probando.

La función devolverá un nulo Valor si string1 es alfanumérico. Si string1 contiene caracteres no alfanuméricos, devolverá un valor de “mayor que 0”.

Por ejemplo,

LENGTH(TRIM(TRANSLATE('Tech on the Net!!!', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-.0123456789', ' ')))
Result: 3

LENGTH(TRIM(TRANSLATE('Tech1Net2^', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-.0123456789', ' ')))
Result: 1

LENGTH(TRIM(TRANSLATE('Tech on the Net567', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-.0123456789', ' ')))
Result: null

Obtenga más información sobre la función TRADUCIR.

Más información sobre la función LONGITUD.

Obtenga más información sobre la función TRIM.