From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Patrick B <patrickbakerbr(at)gmail(dot)com> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Plpgsql - Custom fields Postgres 9.5 |
Date: | 2016-12-14 21:40:10 |
Message-ID: | f9362656-05ee-ff05-50c0-e59addda8c4f@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 12/14/2016 01:30 PM, Patrick B wrote:
> 1. Why when I run the function manually I get this error?
>
> select logextract(201612015, 201612015);
>
> ERROR: operator does not exist: timestamp without time
> zone >=
> integer
>
> LINE 13: BETWEEN
>
>
> The answer is above. Look at your original query at the top of the post.
>
>
>
> I presume this is wrong: _CREATE or REPLACE FUNCTION
> logextract(date_start integer, date_end integer) _- But what
> should I
> use instead?
>
>
> <mailto:adrian(dot)klaver(at)aklaver(dot)com>
>
>
> You mean the error would be:
> select logextract(201612015, 201612015);
>
> When it was supposed to be: select logextract(201611015, 201612015);???
>
> This is not the cause, because it was a mistake when I typed the email.
> Even doing:
>
> select logextract(20161115,20161215);
>
>
> I get same error.
You would. The error is:
ERROR: operator does not exist: timestamp without time zone >= integer
Change this:
BETWEEN
' || date_start || '
AND
' || date_end || '
to
BETWEEN
date_start::text
AND
date_end::text
Or change the argument types to text and then:
BETWEEN
date_start
AND
date_end
In either case you will have your original query.
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Patrick B | 2016-12-14 23:49:52 | Re: Plpgsql - Custom fields Postgres 9.5 |
Previous Message | David G. Johnston | 2016-12-14 21:35:53 | Re: Plpgsql - Custom fields Postgres 9.5 |