Te damos la bienvenida a nuestra página web, en este lugar vas a hallar la solucíon de lo que buscabas.
Solución:
Iría por regexp_replace, aunque no estoy 100% seguro de que esto se pueda usar en PL/SQL
my_value := regexp_replace(my_value, '[[:space:]]*','');
Versión más corta de:
REGEXP_REPLACE( my_value, '[[:space:]]', '' )
Sería:
REGEXP_REPLACE( my_value, 's')
Ninguna de las declaraciones anteriores eliminará “null” caracteres.
Para eliminar “nulos”, encierre la declaración con un reemplazo
Al igual que:
REPLACE(REGEXP_REPLACE( my_value, 's'), CHR(0))
Como se siente cómodo con las expresiones regulares, probablemente quiera usar la función REGEXP_REPLACE. Si desea eliminar cualquier cosa que coincida con el [:space:] clase POSIX
REGEXP_REPLACE( my_value, '[[:space:]]', '' )
SQL> ed
Wrote file afiedt.buf
1 select '|' ||
2 regexp_replace( 'foo ' || chr(9), '[[:space:]]', '' ) ||
3 '|'
4* from dual
SQL> /
'|'||
-----
|foo|
Si desea dejar un espacio en su lugar para cada conjunto de caracteres de espacio continuo, simplemente agregue el +
a la expresión regular y use un espacio como carácter de reemplazo.
with x as (
select 'abc 123 234 5' str
from dual
)
select regexp_replace( str, '[[:space:]]+', ' ' )
from x
valoraciones y reseñas
Si crees que ha sido de provecho este post, nos gustaría que lo compartas con otros desarrolladores y nos ayudes a dar difusión a nuestro contenido.