Skip site navigation (1) Skip section navigation (2)

Re: Comportamiento correcto del "not in" ?

From: ichbinrene(at)gmail(dot)com
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Comportamiento correcto del "not in" ?
Date: 2012-07-18 02:03:55
Message-ID: 25820901.6PTUWX4VYe@linux-id39.site (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
On Tuesday 17 July 2012 13:35:12 Alvaro Herrera wrote:
> Excerpts from Guillermo Villanueva's message of lun jul 16 21:05:52 -0400 
2012:
> > Un poco tarde mi agradecimiento por las respuestas.
> > Alvaro, como siempre, muy claro y conciso.
> > Es como vos decís es extraño y a mi entender no muy lógico a primera
> > vista, no sabía de ese estándar, viéndolo en ejemplos concretos
> > podríamos decir que:
> > 4 not in (1, 2, 5, null)
> > no es verdadero!
> > 
> > Es así?
> 
> Claro, no es verdadero.  No sé qué elemento es el último, por lo tanto
> no puedo decir que 4 está en ese conjunto, y tampoco puedo decir que no
> está.  La respuesta correcta entonces es NULL.

A mi también me costó trabajo al principio entender este asunto,el cual se 
explica porque 4 NOT IN (1,2,5,NULL) se traduce internamente como:

 NOT (4=1 OR 4=2 OR 4=5 OR 4=NULL)

Y puesto que el resultado de 4=NULL es NULL , todas las demás comparaciones 
se nulifican también al compararse con este resultado ya que toda operación de 
comparación o aritmética que involucre NULL regresará NULL.
Saludos.
@iCodeiExist

In response to

Responses

pgsql-es-ayuda by date

Next:From: =?iso-8859-1?Q?Laz=E1ro_Rub=E9n_Garc=EDa_Mart=EDnez?=Date: 2012-07-18 02:24:12
Subject: Re: [pgsql-es-ayuda] replicacion postgres
Previous:From: ichbinreneDate: 2012-07-18 01:54:56
Subject: Re: [ecpug] replicacion postgres

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group