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: extraer operadores aritméticos de una cadena
Pregunta: Me gustaría saber cómo lidiar con este problema. Tengo un procedimiento almacenado con variables de entrada:
v_in varchar2(200);
El valor será así:
1+2*30+40
Solo necesito extraer los operadores aritméticos (+, * y +) para poder usarlos en la consulta. ¿Cómo puedo hacer esto?
Respuesta: Para extraer un operador aritmético de una variable varchar2, debe usar las funciones de traducción y REEMPLAZAR.
Por ejemplo,
TRANSLATE('1+2*30+40','01234',' ') Result: '+* +' REPLACE('+* +', ' ') Result: '+*+'
Así que puedes combinar estas funciones en:
REPLACE(TRANSLATE('1+2*30+40','01234',' '), ' ') Result: '+*+'
Obtenga más información sobre la función TRADUCIR.
Obtenga más información sobre la función REEMPLAZAR.