Subject: CURRENTE_DATE

From: "Rossana Ocampos" <[email-masked]>
Date: Tue, 22 Oct 2024 13:31:12 +0200

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

---

From: Rich Shepard <[email-masked]>
Date: Wed, 23 Oct 2024 05:49:54 -0700 (PDT)

On Tue, 22 Oct 2024, Rossana Ocampos wrote:

> has an input variable of type date , in case it does not receive value ,
> it has to assume by default the current date.

> invalid input syntax for type date: "CURRENT_DATE" SQL status: 22007

Rossana,

I have several tables with default values, including dates. Change your
input's values to `default' (without the quotes.)

Regards,

Rich

---

From: Rich Shepard <[email-masked]>
Date: Wed, 23 Oct 2024 05:55:29 -0700 (PDT)

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

---

From: Ray O'Donnell <[email-masked]>
Date: Wed, 23 Oct 2024 13:18:36 +0000

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.

-- 
Raymond O'Donnell // Galway // Ireland
[email-masked]

---

From: Muhammad Ikram <[email-masked]>
Date: Thu, 24 Oct 2024 18:01:09 +0500

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 <[email-masked]> wrote:

> I have defined it as follows variable  DATE DEFAULT CURRENT_DATE, but I
> get the following error.
>
>
>
> *El error *
>
> invalid input syntax for type date: “CURRENT_DATE” SQL status: 22007
> Characters: 78
>
>
> Raymond O'Donnell // Galway // [email-masked]
>
>