Thread: date_part stored procs

date_part stored procs

From
"Tsoloane Moahloli"
Date:
Making me lose my cool.  Here is how it goes:
 
I have the following Stored Proc, Which I intend to find the age in months of a date...
 
 
CREATE FUNCTION interval_months(TIMESTAMP) RETURNS INTEGER AS '
 DECLARE
  docDate ALIAS FOR $1;
  len INTEGER;
 BEGIN
  SELECT INTO len * FROM (SELECT ((date_part(''year'',age(docDate))*12)+(date_part(''month'',age(docDate)))) AS a;
  RETURN len;
 END
' LANGUAGE 'plpgsql';
 
The problem is that it does not run and I cannot for the life of me tell why.   
 
 
I run it with the following in psql:  
 
select interval_months(file_date) from (select min(file_date) as file_date from fileattributes) AS a;
 
And I get the folllowing error:
NOTICE:  Error occurred while executing PL/pgSQL function interval_months
NOTICE:  line 5 at select into variables
ERROR:  parser: parse error at or near ""
 
I can't see the error, I've lost my mind....  It's friday........
 

Tsoloane Moahloli
Verity South Africa (Pty) Ltd
P +27 (11) 475 1718
C +27 (83) 400-2998
tsoloane@verity.za.com

http://www.verity.com/
Over 80% of the FORTUNE 50 trust Verity to power their Business Portal and e-Commerce sites.

Verity is the leader in the Gartner 2002 Enterprise Search Magic Quadrant

 

Disclaimer

The information contained in this communication is confidential and may be legally privileged. It is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. If you are not the intended recipient you are hereby notified that any disclosure, copying, distribution or taking action in reliance of the contents of this information is strictly prohibited and may be unlawful. Views and opinions are those of the sender unless clearly stated as being that of Mimecast (Pty) Ltd. Mimecast (Pty) Ltd is neither liable for the proper, complete transmission of the information contained in this communication, nor any delay in its receipt or that the mail is virus-free. Mimecast (Pty) Ltd is not liable whatsoever for loss or damage resulting from the opening of this message and/or attachments and/or the use of the information contained in this message and/or attachments.

Re: date_part stored procs

From
Tom Lane
Date:
"Tsoloane Moahloli" <tsoloane@mimecast.co.za> writes:
>   SELECT INTO len * FROM (SELECT
> ((date_part(''year'',age(docDate))*12)+(date_part(''month'',age(docDate))))
> AS a;
> The problem is that it does not run and I cannot for the life of me tell
> why.    

I think you miscounted parentheses.
        regards, tom lane


Re: date_part stored procs

From
"Tsoloane Moahloli"
Date:
<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td width="50%"><a
href="http://mail.mimecast.co.za/mcservices/mcinsert?code=31303037352c333537"><imgborder="0"
src="cid:1040329092253034001@mail.mimecast.co.za"/></a></td><td align="right" width="50%"><a
href="http://mail.mimecast.co.za/mcservices/mcinsert?code=31303037352c333538"><imgborder="0"
src="cid:1040329092253037001@mail.mimecast.co.za"/></a></td></tr></table><br /><br /> Perfect. Thanks a lot....<br
/><br/> -----Original Message-----<br /> From: pgsql-sql-owner@postgresql.org
[mailto:pgsql-sql-owner@postgresql.org]<br/> On Behalf Of Tom Lane<br /> Sent: 27 March 2004 01:03<br /> To:
tsoloane@mimecast.co.za<br/> Cc: pgsql-sql@postgresql.org<br /> Subject: Re: [SQL] date_part stored procs <br /><br
/><br/> "Tsoloane Moahloli" <tsoloane@mimecast.co.za> writes:<br /> > SELECT INTO len * FROM (SELECT<br />
>((date_part(''year'',age(docDate))*12)+(date_part(''month'',age(docDat<br /> > e))))<br /> > AS a;<br /><br
/>> The problem is that it does not run and I cannot for the life of me tell<br /> > why. <br /><br /> I think
youmiscounted parentheses.<br /><br /> regards, tom lane<br /><br /> ---------------------------(end of
broadcast)---------------------------<br/> TIP 8: explain analyze is your friend<br /><br /><br /><br /><table
border="0"cellpadding="0" cellspacing="0" width="100%"><tr><td width="50%"><img border="0"
src="cid:1040329092253040001@mail.mimecast.co.za"/></td><td align="right" width="50%"><img border="0"
src="cid:1040329092253042001@mail.mimecast.co.za"/></td></tr></table><br /><p><font face="Arial"
size="1">Disclaimer</font><p><fontface="Arial" size="1">The information contained in this communication is confidential
andmay be legally privileged. It is intended solely for the use of the individual or entity to whom it is addressed and
othersauthorized to receive it. If you are not the intended recipient you are hereby notified that any disclosure,
copying,distribution or taking action in reliance of the contents of this information is strictly prohibited and may be
unlawful.Views and opinions are those of the sender unless clearly stated as being that of Mimecast (Pty) Ltd. Mimecast
(Pty)Ltd is neither liable for the proper, complete transmission of the information contained in this communication,
norany delay in its receipt or that the mail is virus-free. Mimecast (Pty) Ltd is not liable whatsoever for loss or
damageresulting from the opening of this message and/or attachments and/or the use of the information contained in this
messageand/or attachments.<br /></font>