From: | Juanky Moral <juanky(dot)moral(at)gmail(dot)com> |
---|---|
To: | Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Restriccion CHECK |
Date: | 2005-09-06 16:25:55 |
Message-ID: | 463a53a405090609257a09b9cf@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 6/09/05, Alvaro Herrera<alvherre(at)alvh(dot)no-ip(dot)org> escribió:
> On Tue, Sep 06, 2005 at 03:58:11PM +0000, Roberto Andrade Fonseca wrote:
>
> Hola,
>
> > > En resumen: el campo rut es NULL si y solo si el campo dv es NULL.
> > >
> > > Espero haber sido claro.
> >
> > Bastante, pero lo que me cuesta trabajo 'leer' es:
> >
> > (rut IS NULL = dv IS NULL);
> >
> > ¿El signo '=' actúa como un 'if'?
>
> No, actua como comparacion :-) El operador IS NULL entrega un resultado
> booleano (true o false -- no retorna NULL). Luego el signo = compara
> ambos resultados booleanos, y retorna verdadero solo si son iguales.
>
> Creo que es mas facil de leer asi
>
> ((rut IS NULL) = (dv IS NULL));
>
> --
> Alvaro Herrera -- Valdivia, Chile Architect, www.EnterpriseDB.com
> "Hay dos momentos en la vida de un hombre en los que no debería
> especular: cuando puede permitírselo y cuando no puede" (Mark Twain)
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 9: el optimizador ignorará el uso de recorridos de índice si los
> tipos de datos de las columnas no coinciden
>
Y digo yo: ¿no funcionaría igual con AND y, tratandose de
comparaciones booleanas, más claro?:
(rut IS NULL AND dv IS NULL)
--
Juanky Moral
"Tendré que moverme más rápido: el horizonte brilla eléctrico."
(Horizonte Eléctrico - www.losdeltonos.com )
From | Date | Subject | |
---|---|---|---|
Next Message | Roberto César Nájera Nuñez | 2005-09-06 16:27:30 | cambiar de dueño una BD |
Previous Message | Alvaro Herrera | 2005-09-06 16:02:33 | Re: Restriccion CHECK |