Re: Comparar valores Nulos

From: "Silvio Quadri" <silvioq(at)gmail(dot)com>
To: "Cesar Erices" <caerices(at)gmail(dot)com>
Cc: postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Comparar valores Nulos
Date: 2008-01-18 18:58:02
Message-ID: 61dc71dc0801181058p2f2e2698ief1d7ff75fc12170@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 18/01/08, Cesar Erices <caerices(at)gmail(dot)com> escribió:
>
> Probaste consultando por select * from tabla where campo<> null

Ojo. No lo mandaste a la lista !

Cuidado
select * from tabla where campo != null no funciona
La forma correcta es
select * from tabla where campo is not null

Silvio

El día 18/01/08, Silvio Quadri <silvioq(at)gmail(dot)com> escribió:
> >
> >
> >
> > El día 18/01/08, Consuelo Marmolejo < consuelo_marmolejo(at)hotmail(dot)com>
> > escribió:
> > >
> > >
> > > Que tal.
> > > Dentro de postgres no puedo comparar los valores nulos dentro de mis
> > > tablas; me explico con este ejemplo:
> > >
> > > Digamos que tenemos estas tablas:
> > >
> > > -- Tabla1 --
> > > id_tabla1 | nombre | profesion | color
> > > -----------+---------+---------------+---------
> > > 1 | Miguel | | Azul
> > > 2 | Alvaro | Análista |
> > > 3 | Jorge | Administrador | Rojo
> > > 4 | Roberto | | Violeta
> > > 5 | Miriam | Secretaria |
> > >
> > > -- Tabla2 --
> > > id_tabla2 | nombre | profesion | color
> > > -----------+---------+---------------+---------
> > > 5 | Miguel | | Azul
> > > 4 | Alvaro | Análista |
> > > 2 | Jorge | Administrador | Rojo
> > > 1 | Roberto | | Violeta
> > > 3 | Miriam | Secretaria |
> > >
> > > (Los espacios en blanco son valores NULL dentro de la tabla).
> > > Ahora si pueden observar lo único que cambia son los id's dentro de
> > > ambas tablas; al hacer la consulta:
> > >
> > > db_local2=# SELECT id_tabla1, id_tabla2, nombre, profesion, color FROM
> > > tabla1 INNER JOIN tabla2 USING(nombre, profesion, color);
> > >
> > > id_tabla1 | id_tabla2 | nombre | profesion | color
> > > -----------+-----------+--------+--------------------+-------
> > > 3 | 2 | Jorge | Administrador | Rojo
> > >
> > >
> > > El único resultado que trae es este.
> > > Si bien puedo hacer un "CASE" para columna que tentativamente tenga un
> > > valor nulo; no hay una forma más práctica?
> > > Alguna forma de hacer que postgres me tome en consideración los
> > > valores Nulos, para obtener este resultado:
> > >
> > > id_tabla1 | id_tabla2 | nombre | profesion | color
> > > -----------+-----------+----------+--------------------+---------
> > > 1 | 5 | Miguel
> > > | | Azul
> > > 2 | 4 | Alvaro | Análista |
> > > 3 | 2 | Jorge | Administrador | Rojo
> > > 4 | 1 | Roberto |
> > > | Violeta
> > > 5 | 3 | Miriam | Secretaria |
> > >
> > >
> > >
> > > _________________________________________________________________
> > > ¡Súper premios en nanometrajes subiendo tu video!
> > > http://cine.prodigymsn.com/nanometraje--
> > > TIP 10: no uses HTML en tu pregunta, seguro que quien responda no
> > > podrá leerlo
> > >
> >
> >
> > Lamentablemente según las especificaciones del SQL, null = null te va a
> > dar siempre falso. Tenés que usar null is null.
> >
> > Hacé esta prueba ...
> >
> > # select null = null;
> > ?column?
> > ----------
> >
> > (1 row)
> >
> > # select null is null;
> > ?column?
> > ----------
> > t
> > (1 row)
> >
> >
> > Silvio
> >
> >
> >
> > --
> > Silvio Quadri
>
>
>
>
> --
> Cesar Erices Vergara
> Ingeniero en Gestión Informática
> Analista de Sistema

--
Silvio Quadri

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cesar Erices 2008-01-18 19:24:22 Re: Comparar valores Nulos
Previous Message Silvio Quadri 2008-01-18 18:25:41 Fwd: Comparar valores Nulos