Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Quitar espacios en blanco (PL/SQL)

Estas en el tema de Quitar espacios en blanco (PL/SQL) en el foro de Oracle en Foros del Web. Hola grupo, Necesito quitar todos los espacios en blanco de un string de tipo varchar2(). Me explico : --variable cadena y su valor cadena := ...
  #1 (permalink)  
Antiguo 08/05/2008, 14:02
Avatar de Maxi.Net  
Fecha de Ingreso: abril-2005
Ubicación: R.M. Talagante, Chile!!
Mensajes: 295
Antigüedad: 19 años, 7 meses
Puntos: 2
Quitar espacios en blanco (PL/SQL)

Hola grupo,

Necesito quitar todos los espacios en blanco de un string de tipo varchar2().
Me explico :

--variable cadena y su valor

cadena := 'HOLA MUNDO PL/SQL';

Necesito obtener el valor de la variable cadena sin espacios, es decir de la siguiente forma:

--resultado de la variable cadena después de quitarle los espacios en blanco

'HOLAMUNDOPL/SQL'

He googleado y me he encontrado con las expresiones regulares,pero no logro resolverlo.

Agradesco su ayuda.

Saludos y gracias.

P.D: quitar espacios a la izquierda, centro, derecha... todos.
__________________
Amtez de enpezar kom otro idioma,
escrivamos vien el nueztro i como corezpomde. Jracias.
  #2 (permalink)  
Antiguo 08/05/2008, 15:00
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Quitar espacios en blanco (PL/SQL)

Hola,

Código:
SQL> select replace('HOLA MUNDO PL/SQL',' ','') from dual;

REPLACE('HOLAMU
---------------
HOLAMUNDOPL/SQL
Saludos
  #3 (permalink)  
Antiguo 08/05/2008, 15:09
Avatar de Maxi.Net  
Fecha de Ingreso: abril-2005
Ubicación: R.M. Talagante, Chile!!
Mensajes: 295
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Quitar espacios en blanco (PL/SQL)

Muchas gracias!! pero, conoces una forma de hacerlo sin usar Select .. from dual ?
(como por ejemplo, cadena := LTRIM(cadena) ó cadena := UPPER(cadena ))

¿ Qué tan conveniente es hacer un Select .. from dual en vez de usar una función como LTRIM() ó UPPER() ?


Saludos y gracias
__________________
Amtez de enpezar kom otro idioma,
escrivamos vien el nueztro i como corezpomde. Jracias.
  #4 (permalink)  
Antiguo 08/05/2008, 15:18
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Quitar espacios en blanco (PL/SQL)

Hola,

El select lo puse para dar un ejemplo rapido y no tener que escribir un bloque de codigo.

Código:
SQL> 
  1  declare
  2  cadena varchar2(30);
  3  begin
  4  cadena := 'HOLA MUNDO PL/SQL';
  5  cadena := replace(cadena,' ','');
  6  dbms_output.put_line(cadena);
  7* end;
HOLAMUNDOPL/SQL

PL/SQL procedure successfully completed.
Saludos
  #5 (permalink)  
Antiguo 12/05/2008, 08:36
Avatar de Maxi.Net  
Fecha de Ingreso: abril-2005
Ubicación: R.M. Talagante, Chile!!
Mensajes: 295
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: Quitar espacios en blanco (PL/SQL)

Muchas gracias matanga!! funciona a la perfección!!

Saludos
__________________
Amtez de enpezar kom otro idioma,
escrivamos vien el nueztro i como corezpomde. Jracias.
  #6 (permalink)  
Antiguo 30/10/2009, 17:14
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Re: Quitar espacios en blanco (PL/SQL)

Cita:
Iniciado por matanga Ver Mensaje
Hola,

El select lo puse para dar un ejemplo rapido y no tener que escribir un bloque de codigo.

Código:
SQL> 
  1  declare
  2  cadena varchar2(30);
  3  begin
  4  cadena := 'HOLA MUNDO PL/SQL';
  5  cadena := replace(cadena,' ','');
  6  dbms_output.put_line(cadena);
  7* end;
HOLAMUNDOPL/SQL

PL/SQL procedure successfully completed.
Saludos


Yo quiero hacer lo mismo pero para una variable en SQL

Intente hacer esto
Código:
DECLARE @var varchar
SET @var = '10.50'
SET @var = SELECT REPLACE(@var, '.' , '')
  #7 (permalink)  
Antiguo 30/10/2009, 17:33
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Re: Quitar espacios en blanco (PL/SQL)

Perdonen... ya pude hacerlo. Olvidaba ponerle el tamaño de la cadena, jejejeje

Código:
DECLARE @cadena_monto	varchar(10)

SET @cadena_monto = REPLACE('10.50','.','')
SELECT @cadena_monto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:43.