Received: from localhost (unknown [200.46.204.187]) by postgresql.org (Postfix) with ESMTP id 290032E0DD0 for ; Sun, 27 Jan 2008 22:30:35 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.187]) (amavisd-maia, port 10024) with ESMTP id 19414-01 for ; Sun, 27 Jan 2008 22:30:14 -0400 (AST) Received: from outX.internet-mail-service.net (outX.internet-mail-service.net [216.240.47.247]) by postgresql.org (Postfix) with ESMTP id DC4612E2D85 for ; Sun, 27 Jan 2008 22:30:25 -0400 (AST) Received: from mx0.idiom.com (HELO idiom.com) (216.240.32.160) by out.internet-mail-service.net (qpsmtpd/0.40) with ESMTP; Sun, 27 Jan 2008 18:30:23 -0800 X-Client-Authorized: MaGic Cook1e Received: from [192.168.1.109] (adsl-71-135-191-42.dsl.pltn13.pacbell.net [71.135.191.42]) by idiom.com (Postfix) with ESMTP id A8C2D126FF0 for ; Sun, 27 Jan 2008 18:30:22 -0800 (PST) Message-ID: <479D3E63.2080601@obviously.com> Date: Sun, 27 Jan 2008 18:30:59 -0800 From: Bryce Nesbitt User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20070803 SUSE/1.1.7-0.1 SeaMonkey/1.1.7 MIME-Version: 1.0 To: pgsql-sql@postgresql.org Subject: extract or date_part on an interval? How many e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.094 tagged_above=0 required=5 tests=AWL=0.093, BAYES_50=0.001 X-Spam-Level: X-Archive-Number: 200801/209 X-Sequence-Number: 30062 Hmm. Seemed so simple. But how do I get the number of years an interval represents? extract is clearly the wrong way: stage=# select 'now()-'1987-02-01' as interval,extract(year from now()-'1987-02-01') as age; interval | age --------------------------+----- 7665 days 18:05:51.660345 | 0 select EXTRACT(year FROM INTERVAL '7665 days'); gives the same result. select EXTRACT(day FROM now()-'1987-02-01')/365 as age; seems messy. select (now()-'1987-02-01')/365; gives extraneous junk. Thanks! -- ---- Visit http://www.obviously.com/