![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I have a simple function defined thusly: CREATE OR REPLACE FUNCTION datemath(timestamp with time zone, int4, varchar) RETURNS timestamp AS ' DECLARE tdat timestamp; rdat timestamp; BEGIN IF ($1 IS NULL) THEN TDAT := NOW(); ELSE TDAT := $1; END IF; |
|
select tdat + interval ''$2 $3'' into rdat; |
|
return rdat; END; ' LANGUAGE 'plpgsql' VOLATILE; The problem is the interval part. How do I tell the bugger to use the second and third params as input to interval? I have tried different ways of escaping, from \$2 $3\ to $2 $3 and everything else in between, it just doesnt like it. |
#3
| |||
| |||
|
|
I have a simple function defined thusly: CREATE OR REPLACE FUNCTION datemath(timestamp with time zone, int4, varchar) RETURNS timestamp AS ' DECLARE tdat timestamp; rdat timestamp; BEGIN IF ($1 IS NULL) THEN TDAT := NOW(); ELSE TDAT := $1; END IF; |
|
select tdat + interval ''$2 $3'' into rdat; |
|
return rdat; END; ' LANGUAGE 'plpgsql' VOLATILE; The problem is the interval part. How do I tell the bugger to use the second and third params as input to interval? I have tried different ways of escaping, from \'$2 $3\' to ''$2 $3'' and everything else in between, it just doesn't like it. |
#4
| |||
| |||
|
|
I have a simple function defined thusly: * CREATE OR REPLACE FUNCTION datemath(timestamp with time zone, int4, varchar) * RETURNS timestamp AS ' DECLARE * tdat timestamp; * rdat timestamp; BEGIN * IF ($1 IS NULL) THEN *** TDAT := NOW(); * ELSE *** TDAT := $1; * END IF; * * select tdat + interval ''$2 $3'' into rdat; * return rdat; END; ' * LANGUAGE 'plpgsql' VOLATILE; * The problem is the interval part. How do I tell the bugger to use the second and third params as input to interval? I have tried different ways of escaping, from \$2 $3\ to $2 $3 and everything else in between, it just doesnt like it. * Help! J * Thanks, naeem |
![]() |
| Thread Tools | |
| Display Modes | |
| |