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

concatenar campos en condicion

Estas en el tema de concatenar campos en condicion en el foro de Oracle en Foros del Web. Hola, tengo una select y quiero en la condicion concatenar 2 campos uno char (campoX) otro varchar2 (campoY) para comparar con un number (campo2), lo ...
  #1 (permalink)  
Antiguo 03/01/2007, 09:57
 
Fecha de Ingreso: abril-2005
Mensajes: 171
Antigüedad: 19 años
Puntos: 0
concatenar campos en condicion

Hola, tengo una select y quiero en la condicion concatenar 2 campos uno char (campoX) otro varchar2 (campoY) para comparar con un number (campo2), lo he intentado con || y con concat pero en ambos casos me sale el siguiente error:

ORA-01722: número no válido

La consulta es algo asi:

SELECT* FROM TABLA1 T1 ,TABLA2 T2
WHERE T2.campo1= 1
AND T2.campo2 = T1.campoX || T1.CampoY;

Si utilizo para concatenar + no me da error pero no me concatena sino que me suma como es evidente por lo que no obtengo el resultado deseado.


Gracias
  #2 (permalink)  
Antiguo 03/01/2007, 10:25
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
Re: concatenar campos en condicion

posiblemente lo que ocurre es que tengas algunos campos como numericos y no como caracter; intenta con lo siguiente:


Código:
SELECT* FROM TABLA1 T1 ,TABLA2   T2
   WHERE T2.campo1= 1
      AND to_char(T2.campo2) = to_char(T1.campoX) || to_char(T1.CampoY);
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 03/01/2007, 12:57
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Re: concatenar campos en condicion

"concatenar 2 campos uno char (campoX) "

podria ser tambien que como dices que es char y este tipo de campo guarda los espacios en blanco para los caracteres que no usas, al hacer la conversion salte el error
__________________
Blogzote.com :-) Mi blog
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 18:41.