Re: [GENERAL] Plpgsql - Custom fields Postgres 9.5 - Mailing list pgsql-general

From Patrick B
Subject Re: [GENERAL] Plpgsql - Custom fields Postgres 9.5
Date
Msg-id CAJNY3itduFt2qt2AGmpSoGjxwLR8u9-aPaffG5r2_H+v3KuZ=Q@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] Plpgsql - Custom fields Postgres 9.5  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: [GENERAL] Plpgsql - Custom fields Postgres 9.5
List pgsql-general


2016-12-15 10:40 GMT+13:00 Adrian Klaver <adrian.klaver@aklaver.com>:
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.klaver@aklaver.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.klaver@aklaver.com


I tried either changing the argument types:

logextract(date_start text, date_end text)

and also the Between:
 BETWEEN

       date_start::text

    AND

       date_end::text

None of those worked:

ERROR:  function logextract(integer, integer) does not exist

LINE 1: select logextract(20160901,20161001);

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: [GENERAL] Plpgsql - Custom fields Postgres 9.5
Next
From: "David G. Johnston"
Date:
Subject: Re: [GENERAL] Plpgsql - Custom fields Postgres 9.5