No matter how many times i try, i can't seem to get the write amount of ' marks around the date parameters in my v_where declaration. What am i doing wrong here?
v_stmt should look like this if done correctly: select count(distinct m.id) from (select id, greatest(max(last_p),max(last_b)) as date_created from job group by id) m where m.jb_date < '2008-08-29' and m.jb >='2008-08-28'. when instead it's coming out like this: select count(distinct m.id) from (select id, greatest(max(last_periodic),max(last_boot)) as date_created from mediaportal group by id) m where m.date_created < 2008-08-29 and m.date_created >=2008-08-28 . ...no tick marks around the dates. here's my code: CREATE OR REPLACE FUNCTION fcn_job(p_date date, p_type varchar, p_jobid numeric) RETURNS numeric AS $$ DECLARE v_job numeric := 0; v_stmt varchar(1024); v_where varchar(256) := 'where m.jb_date < '||p_date + integer '1'|| ' and m.jb_date >='||p_date||''; BEGIN v_stmt := fcn_gen_statement(p_type, v_where, p_newonly); execute v_stmt into v_job; RAISE NOTICE 'sql looks like this: % . ',v_stmt; return v_job; END; $$ LANGUAGE plpgsql;