Thread: 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 DELETERESTRICT insert into enforcement (company_nbr, action_date, penalty_amount, reason, comment) values (123, '2024-10-23', default, 'Dida wrong thing.', null); HTH, Rich
@font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-fareast-language:EN-US;}a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;}span.E-MailFormatvorlage17 {mso-style-type:personal-compose; font-family:"Calibri","sans-serif"; color:windowtext;}.MsoChpDefault {mso-style-type:export-only; font-family:"Calibri","sans-serif"; mso-fareast-language:EN-US;}div.WordSection1 {page:WordSection1;} 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
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)
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