As it turns out, it was an act of volunteering:

CREATE OR REPLACE FUNCTION month (MyDate DATE) RETURN NUMBER IS
BEGIN
   RETURN extract(MONTH FROM MyDate);
END month;
/

CREATE OR REPLACE FUNCTION year (MyDate DATE) RETURN NUMBER IS
BEGIN
   RETURN extract(YEAR FROM MyDate);
END year;
/
 

-----Original Message-----
From: Rick Root [mailto:[EMAIL PROTECTED] 
Sent: Thursday, 3 February 2005 9:54 
To: CF-Talk
Subject: Re: Blog app

James Holmes wrote:
>  
> Just wrap a PL/SQL function around a to_char() call with the 
> appropriate date mask. No, that's not an act of volunteering :-)

Actually the way I do it in postgres is this (note, these are the first
functions I've ever written in any database language)

CREATE OR REPLACE FUNCTION Month(timestamp) RETURNS double precision
     AS 'select extract(month from $1)'
     LANGUAGE SQL
     IMMUTABLE
     RETURNS NULL ON NULL INPUT;

CREATE OR REPLACE FUNCTION Year(timestamp) RETURNS double precision
     AS 'select extract(year from $1)'
     LANGUAGE SQL
     IMMUTABLE
     RETURNS NULL ON NULL INPUT;


Since oracle supports extract() as well, it should be similarly easy.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:192880
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to