Gracias por la aclaración. Entendido. *No había pensado que el NOT IN () se traducía de esa manera. *
Guillermo Villanueva El 17 de julio de 2012 23:03, <ichbinr...@gmail.com> escribió: > 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 > - > Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org > ) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda >