Oracle - campos null

 
Vista:

campos null

Publicado por Alma (3 intervenciones) el 18/11/2009 14:01:15
Hola, tengo un problema al comparar datos en 2 tablas. Lo que hago es lo siguiente:

IF v_codigo1 = v_codigo2 (valor de ambos: '4')
AND v_nombre = v_nombre2 (valor de ambos: 'CALLE')
AND v_numero1 = v_numero2 (valor de ambos: NULL)
AND v_tfno1 = v_tfno2 (valor de ambos: NULL)
AND v_cp1 = v_cp2 THEN (valor de ambos: '41800') dbms_output.put_line ('coinciden los datos del domicilio);
ELSE
--dbms_output.put_line ('no coinciden los datos del domicilio);
dbms_output.put_line ('ERROR: '||sqlcode||sqlerrm);
END IF;

Las variables que se comparan en el If son datos de dos tablas diferentes. Los datos coinciden todos, incluso los nulos. Si comparo tal como está, incluidos los nulos, da el error: '0ORA-0000: normal, successful completion'. Si quito las comparaciones de los campos nulos entra en el if, pero no puedo quitarlos, es necesario compararlos.

A ver si alguien me puede ayudar.
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:campos null

Publicado por JORGE SANCHEZ (186 intervenciones) el 19/11/2009 00:00:55
UTILIZA NVL( CAMPO , ' ' ) PARA CADA UNA DE LAS COLUMNAS

NVL ( CAMPO , ' ' ) SI CAMPO ES NULO, UTILIZA ' ' ( ESPACIO)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:campos null

Publicado por Alma (9 intervenciones) el 23/11/2009 13:53:29
No me sirve eso, ya que si pasa que:

campo1 = ' '
campo2 = null

NVL (campo1,' ') = NVL (campo2, ' ') (los trata como iguales, cuando uno es null y el otro es ' ')

Es que en el caso de la comparacion que estoy haciendo, esto puede pasar.

¿Como los comparo?

Si le pongo la comparacion sin NVL ni nada, no los coge iguales.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar