Revision: 3730
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 7, 2007 19:53 by arunpjohny
Initial Code
CREATE FUNCTION datediff (diffType Character Varying(15), date1 Date, date2 Date) RETURNS integer AS $$ DECLARE YEAR_CONST Character Varying(15) := 'year'; MONTH_CONST Character Varying(15) := 'month'; DAY_CONST Character Varying(15) := 'day'; diffInInterval Interval; diffInDoublePrecision Double Precision := 0; diffInInteger Integer := 0; dateTemp Date; BEGIN diffInInterval := age(date2, date1); IF lower($1) = lower(YEAR_CONST) THEN diffInDoublePrecision := date_part('Year', diffInInterval); ELSEIF lower($1) = lower(MONTH_CONST) THEN diffInDoublePrecision := (date_part('Year', diffInInterval) * 12) + date_part('Month', diffInInterval); ELSEIF lower($1) = lower(DAY_CONST) THEN diffInDoublePrecision := endDate - startDate; END IF; diffInInteger := CAST(diffInDoublePrecision as Integer); RETURN diffInInteger; END; $$ LANGUAGE plpgsql;
Initial URL
Initial Description
A function which will give the difference between two dates in days, month or years.
Initial Title
datediff function in postgresql
Initial Tags
Initial Language
SQL