Hi,
edb=# create table date_test (id int, hiredate date default current_date);
CREATE TABLE
edb=# insert into date_test values (1, default);
INSERT 0 1
edb=# select * from date_test;
id | hiredate
----+--------------------
1 | 24-OCT-24 00:00:00
(1 row)
I am just thinking, when DEFAULT CURRENT_DATE is being used in table definition then why the function is again being used in INSERT statement why not use
default. Here is sample
edb=# create table date_test (id int, hiredate date default current_date);
CREATE TABLE
edb=# insert into date_test values (1, default);
INSERT 0 1
edb=# select * from date_test;
id | hiredate
----+--------------------
1 | 24-OCT-24 00:00:00
(1 row)
Regards,
Ikram
On Wed, Oct 23, 2024 at 6:18 PM Ray O'Donnell <ray@xxxxxxxxxxxx> wrote:
On 22/10/2024 12:31, Rossana Ocampos wrote:
Hello ,
I am new with PostgreSQL and I have a bug. I have created a function that has an input variable of type date , in case it does not receive value , it has to assume by default the current date.
I have defined it as follows variable DATE DEFAULT CURRENT_DATE, but I get the following error.
El error
ERROR: invalid input syntax for type date: “CURRENT_DATE” LINE 1: ...extsupplydate ('1085018'::bigint, '5278'::bigint, 'CURRENT_D... ^ ERROR: invalid input syntax for type date: “CURRENT_DATE” SQL status: 22007 Characters: 78
I think you just need to leave off the quotes, as current_date is a function:
insert into .... values ( ... , current_date, ....);
Also, you don't need to quote the bigint values.
HTH,
Ray.
Please could you help me, thank you very much.
Rossana
-- Raymond O'Donnell // Galway // Ireland ray@xxxxxxxxxxxx