X-Original-To: pgsql-sql@postgresql.org Received: from spampd.localdomain (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 59B024758E6 for ; Tue, 8 Apr 2003 04:25:34 -0400 (EDT) Received: from water.oasis.net.au (water.oasis.net.au [210.8.139.2]) by postgresql.org (Postfix) with ESMTP id 26A19474E42 for ; Tue, 8 Apr 2003 04:25:28 -0400 (EDT) Received: from oasis.net.au (guardian [210.8.139.5]) by water.oasis.net.au (8.9.3/8.9.3/Debian 8.9.3-21) with ESMTP id SAA13805 for ; Tue, 8 Apr 2003 18:28:32 +1000 X-Authentication-Warning: water.oasis.net.au: Host guardian [210.8.139.5] claimed to be oasis.net.au Message-ID: <3E928853.7090801@oasis.net.au> Date: Tue, 08 Apr 2003 18:29:07 +1000 From: Rudi Starcevic User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.1) Gecko/20020826 X-Accept-Language: en-us, en MIME-Version: 1.0 To: pgsql-sql@postgresql.org Subject: CASE Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-14.3 required=5.0 tests=BAYES_01,USER_AGENT_MOZILLA_UA,X_AUTH_WARNING autolearn=ham version=2.50 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp) X-Archive-Number: 200304/104 X-Sequence-Number: 12805 Hi, I'm trying to find the maximum date then compare that date to see if I have any current events to show. Here is an SQL snippet ( the e.edate field is of type 'date' ) CASE WHEN COALESCE( MAX(e.edate),'2003-01-01') >= now()::date THEN 'events' ELSE 'noevents' END as myevents, It works fine for those events who do have dates greater or equal to now and also for those events who have a NULL value. However there is one event which is in the past '2003-04-01' which is still coming up as 'events' instead of 'noevents'. I think there may be something wrong with my CASE SQL clause. I can't see any problem right now can anyone here see one ? Thank you kindly Regards Rudi.