RE: Select con valores nulos

From: Fernando Siguenza <fsigu(at)hotmail(dot)com>
To: <manuel(at)radiohead(dot)cl>, Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Select con valores nulos
Date: 2010-07-26 15:29:26
Message-ID: SNT108-W466268E8E9CBFF79E16477A1A60@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Gracias amigos por las respuestas creo que no me explique bien, lo que deseo es hacer una busqueda de facturas por varios campos de la tabla, pero no siempre se ingresan todos los campos por los que deseo buscar, por ejemplo

SELECT * FROM facturas WHERE codigocliente LIKE '010%' AND fecha='01/01/2010';

Esta consulta me funciona muy bien para cuando el usuario quiere buscar por codigo y por fecha, pero que pasa si solo quiere buscar por codigo de cliente, en la variable de fecha va a estar con valor null, como haria en este caso, ya que son algunos campos y para el ejemplo solohe puesto2.

Gracias

CC: pgsql-es-ayuda(at)postgresql(dot)org
From: manuel(at)radiohead(dot)cl
To: fsigu(at)hotmail(dot)com
Subject: Re: [pgsql-es-ayuda] Select con valores nulos
Date: Mon, 26 Jul 2010 11:21:36 -0400

Es claro que si ingresas "OR" basta con que encuentre una de las 2 condiciones para que te retorne filas.
Si quieres descartas TODOS los valores NULOS:

Si no es eso, entonces no entiendo bien.

El 26-07-2010, a las 11:02, Fernando Siguenza escribió:Amigos como estan, queria molestarles con un select que quiero armar, tengo que hacer una busqueda en la tabla facturas, por varios campos entre los cuales tengo el codigo del cliente y la fecha, entonces lo que deseo es como puedo armar una consulta de tal forma que detecte que si uno de los dos campos esta en valor null no lo inclua en la consulta.

Algo asi

Esta seria la consulta en el caso que se quiera buscar por los dos campos
Select * from facturas where codigocliente like '010%' or fecha='01/01/2010';

Pero si no ingreso nada en codigo cliente y este esta en null,como podria hacer para comparar a ver si es null y que ya no me busque por ese campo

Select * from facturas where fecha='01/01/2010';

Una consulta parecida la tenia en mysql y es algo asi, pero no se como implementarlo en postgre

select SocioId,Nombre,Apellido,Ruc,FecNacimiento,EstadoCivil,Direccion,
Telefono,Celular,ViviendaPropia
from socios
where ((@vNombre IS NULL) OR (Nombre like CONCAT('%', @vNombre, '%')))
and ((@vApellido IS NULL) OR (Apellido like CONCAT('%', @vApellido, '%')))
and ((@vTelefono IS NULL) OR (Telefono like CONCAT('%', @vTelefono, '%')))

Esta ultima consulta hace lo que deseo en mysql como puedo hacer algo parecido en postgre.

Muchas gracias por la ayuda.

Saludos

Connect to the next generation of MSN Messenger Get it now!
------------------------Manuel Diego Paillafil Gamboamanuel(at)radiohead(dot)cl

_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Manuel Diego 2010-07-26 15:32:26 Re: copy from
Previous Message Alvaro Herrera 2010-07-26 15:22:18 Re: copy from