CURRENTE_DATE
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
Please could you help me, thank you very much.
Rossana
On Tue, 22 Oct 2024, Rossana Ocampos wrote:
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.
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
Rossana,
I have several tables with default values, including dates. Change your
input's values to `default' (without the quotes.)
Regards,
Rich
On Tue, 22 Oct 2024, Rossana Ocampos wrote:
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
Rossana,
Also, I suggest you put the column names (not their data types) separate
from the values. Here's an example of a script I use (Slackware64 linux):
\d enforcement
Table "public.enforcement"
Column | Type | Collation | Nullable | Default
----------------+---------+-----------+----------+--------------
company_nbr | integer | | |
action_date | date | | not null | CURRENT_DATE
penalty_amount | real | | |
reason | text | | |
comment | text | | |
Foreign-key constraints:
"enforcement_company_nbr_fkey" FOREIGN KEY (company_nbr) REFERENCES companies(company_nbr) ON UPDATE CASCADE ON DELETE RESTRICT
insert into enforcement (company_nbr, action_date, penalty_amount, reason, comment) values (123, '2024-10-23', default, 'Did a wrong thing.', null);
HTH,
Rich
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@rodonnell.ie
Hi,
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@rodonnell.ie> wrote:
Show quoted text
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: 78I 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 // Irelandray@rodonnell.ie