Icono del sitio Home Assistant Fácil

Encontrar el primer numero en un varchar en PL\SQL

El siguiente fragmento de código de PL\SQL soluciona tanto encontrar el primer numero en un varchar como cualquier carácter. Partimos del siguiente supuesto:

En un campo de una tabla tengo direcciones que se componen del nombre de la calle, numero, portal, escalera… mi problema reside en que quiero quedarme solo con el nombre de la calle. Comprobado que todos mis registros tienen el siguiente formato: NOMBRE_CALLE (con espacios) + espacio + NUM_PORTAL + RESTO. La solución a mi problema es encontrar el primer número de cada campo y quedarme con el inicio del campo hasta ese primer número.

Para realizarlo voy a utilizar las expresiones regulares con la función REGEXP_INSTR (Función que permite determinar la posición de inicio de un patrón específico en una cadena de caracteres). Utilizando la expresión regular [0-9] (Cualquier digito) esta función me devolverá la posición iniciar del primer dígito que encuentre.

Con esto ya solucionamos el problema, creamos un campo nuevo donde vamos a guardar solo el nombre de la calle y le metemos el resultado:

Y ya tenemos el resultado deseado:

Enlaces de interés:
Reference Oracle

Salir de la versión móvil