CREATE FUNCTION ret_date (crdate date) RETURNS text AS $$ BEGIN IF EXTRACT (MONTH FROM crdate)= 1 THEN RETURN 'January'; ELSIF EXTRACT (MONTH FROM crdate)= 2 THEN RETURN 'February'; ELSIF EXTRACT (MONTH FROM crdate)= 3 THEN RETURN 'March'; ELSIF EXTRACT (MONTH FROM crdate)= 4 THEN RETURN 'April'; ELSIF EXTRACT (MONTH FROM crdate)= 5 THEN RETURN 'May'; ELSIF EXTRACT (MONTH FROM crdate)= 6 THEN RETURN 'June'; ELSIF EXTRACT (MONTH FROM crdate)= 7 THEN RETURN 'July'; ELSIF EXTRACT (MONTH FROM crdate)= 8 THEN RETURN 'August'; ELSIF EXTRACT (MONTH FROM crdate)= 9 THEN RETURN 'September'; ELSIF EXTRACT (MONTH FROM crdate)= 10 THEN RETURN 'October'; ELSIF EXTRACT (MONTH FROM crdate)= 11 THEN RETURN 'November'; ELSIF EXTRACT (MONTH FROM crdate)= 12 THEN RETURN 'December'; END IF; END; $$ LANGUAGE plpgsql; SELECT ret_date(CURRENT_DATE); select ret_date('2017-04-05');