Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id CF71D9F9ECD for ; Thu, 16 Nov 2006 01:55:27 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 99729-01 for ; Thu, 16 Nov 2006 05:55:23 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey- Received: from web31802.mail.mud.yahoo.com (web31802.mail.mud.yahoo.com [68.142.207.65]) by postgresql.org (Postfix) with SMTP id BF4EF9F9AD7 for ; Thu, 16 Nov 2006 01:55:22 -0400 (AST) Received: (qmail 37965 invoked by uid 60001); 16 Nov 2006 05:55:21 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=Csy9GBOVKVbDC7Fa6GyUQX9jAvtYMAhof2oQ4TrBkDMEDTLd+NU31BQfTu82DHQ9Qx+cscXoQ6NWuMrC8pMjY0wsuTcRuysw9K03hsiwPnPP786mauqsH0qapQRs309K/F6UQ1vO/DJK5In3a1KSheY5LJ5KwQW8abDxwVabaBA= ; X-YMail-OSG: 1QmusuQVM1lvMIeP94_B5nNwG8uAENu4jDYuV5tq Received: from [24.54.196.198] by web31802.mail.mud.yahoo.com via HTTP; Wed, 15 Nov 2006 21:55:21 PST Date: Wed, 15 Nov 2006 21:55:21 -0800 (PST) From: Richard Broersma Jr Subject: Valued Predicates To: pgsql-docs@postgresql.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <740909.36746.qm@web31802.mail.mud.yahoo.com> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=3.17 tagged_above=0 required=5 tests=BAYES_40, DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST, DNS_FROM_RFC_WHOIS X-Spam-Level: *** X-Archive-Number: 200611/29 X-Sequence-Number: 3863 In my reading of SQL for smarties I've stumbled across syntax that is supported by Postgresql. However, I can't find mention of it in the Postgresql Docs. Would an appropriate location for this syntax be the "where condition" of the insert/update/select/delete statements? i.e. mydb=# select * from test2 where ( (a,b) >= (1,'A') ) is unknown; a | b ---+--- 3 | (1 row) mydb=# select * from test2 where ( (a,b) >= (1,'A') ) is true; a | b ---+-------- 1 | Albert 2 | Bert (2 rows) mydb=# select * from test2 where ( (a,b) >= (1,'A') ) is false; a | b ---+--- (0 rows) mydb=# select * from test2 where ( (a,b) >= (1,'A') ) is not false; a | b ---+-------- 1 | Albert 2 | Bert 3 | (3 rows) mydb=# select * from test2 where ( (a,b) >= (1,'A') ) is not true; a | b ---+--- 3 | (1 row) mydb=# select * from test2 where ( (a,b) >= (1,'A') ) is not true; a | b ---+--- 3 | (1 row) Regards, Richard Broersma Jr.