Обсуждение: Need some help with dates
Hi.
First, let me apologize for my poor level in english, I hope you'll
understand me.
I'm new in PL/PgSQL, and I have a little problem.
I have a temporary table (temp) with only varchar. I must do a request that
fill another table (mclis) with temp's data. But on the new tables, I have a
field in date format. When I make a
update mclis
set cli_date = temp.temp1
he doesn't want because of the different formats ('column "cli_date" is of
type 'date' but expression is of type 'character varying').
In temp, my data are like 01/01/2001
I tried also
set cli_date = select case(temp.temp1 as date) but he says:
Cannot cast type 'character' to 'date' or Cannot cast type 'character
varying' to 'date'.
Does anyone has an idea ?
Hi Stéphane,
Use,
update mclis
set cli_date = to_date(temp.temp1,'dd/mm/yyyy')
Regards,
Gautham.
----- Original Message -----
From: "Stéphane DEWITTE" <stephane@smeso.fr>
To: <pgsql-sql@postgresql.org>
Sent: Wednesday, April 17, 2002 6:03 PM
Subject: [SQL] Need some help with dates
> Hi.
>
> First, let me apologize for my poor level in english, I hope you'll
> understand me.
>
> I'm new in PL/PgSQL, and I have a little problem.
>
> I have a temporary table (temp) with only varchar. I must do a request
that
> fill another table (mclis) with temp's data. But on the new tables, I have
a
> field in date format. When I make a
>
> update mclis
> set cli_date = temp.temp1
>
> he doesn't want because of the different formats ('column "cli_date" is of
> type 'date' but expression is of type 'character varying').
>
> In temp, my data are like 01/01/2001
>
> I tried also
> set cli_date = select case(temp.temp1 as date) but he says:
> Cannot cast type 'character' to 'date' or Cannot cast type 'character
> varying' to 'date'.
>
> Does anyone has an idea ?
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
> -----Message d'origine----- > De : Gautham S. Rao [mailto:gautam.rao@tatainfotech.com] > Envoyé : mercredi 17 avril 2002 15:00 > À : Stéphane DEWITTE; pgsql-sql@postgresql.org > Objet : Re: [SQL] Need some help with dates > > > Hi Stéphane, > > Use, > update mclis > set cli_date = to_date(temp.temp1,'dd/mm/yyyy') > > Regards, > Gautham. > > ----- Original Message ----- > From: "Stéphane DEWITTE" <stephane@smeso.fr> > To: <pgsql-sql@postgresql.org> > Sent: Wednesday, April 17, 2002 6:03 PM > Subject: [SQL] Need some help with dates Thanks a lot. I knew it was existing in Orcale, but I haven't find any documentation on this function. I have another problem of that style, I must convert a varchar to a numeric. It seems that to_num or to_number doesn't exists, and cast tells me "Cannot cast type 'character varying' to 'numeric'". Does another function for that exists ? And where could I find a list of existing functions in Postgres 7.2 ? Regards, Stéphane.
Hi Stéphane,
to_number works in the same fashion as in oracle. You need to give
to_number('<yourdata>','formatmask')
For example, to_number('1234567','FM9999999')
Regards,
Gautham.
----- Original Message -----
From: "Stéphane DEWITTE" <stephane@smeso.fr>
To: <pgsql-sql@postgresql.org>
Sent: Wednesday, April 17, 2002 6:31 PM
Subject: Re: [SQL] Need some help with dates
>
>
> > -----Message d'origine-----
> > De : Gautham S. Rao [mailto:gautam.rao@tatainfotech.com]
> > Envoyé : mercredi 17 avril 2002 15:00
> > À : Stéphane DEWITTE; pgsql-sql@postgresql.org
> > Objet : Re: [SQL] Need some help with dates
> >
> >
> > Hi Stéphane,
> >
> > Use,
> > update mclis
> > set cli_date = to_date(temp.temp1,'dd/mm/yyyy')
> >
> > Regards,
> > Gautham.
> >
> > ----- Original Message -----
> > From: "Stéphane DEWITTE" <stephane@smeso.fr>
> > To: <pgsql-sql@postgresql.org>
> > Sent: Wednesday, April 17, 2002 6:03 PM
> > Subject: [SQL] Need some help with dates
>
> Thanks a lot. I knew it was existing in Orcale, but I haven't find any
> documentation on this function. I have another problem of that style, I
must
> convert a varchar to a numeric. It seems that to_num or to_number doesn't
> exists, and cast tells me "Cannot cast type 'character varying' to
> 'numeric'". Does another function for that exists ?
> And where could I find a list of existing functions in Postgres 7.2 ?
>
> Regards,
> Stéphane.
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
> Hi Stéphane,
>
> to_number works in the same fashion as in oracle. You need to give
> to_number('<yourdata>','formatmask')
> For example, to_number('1234567','FM9999999')
>
> Regards,
> Gautham.
Thanks a lot ! That works !!
> Hi.
>
> First, let me apologize for my poor level in english, I hope you'll
> understand me.
>
> I'm new in PL/PgSQL, and I have a little problem.
>
> I have a temporary table (temp) with only varchar. I must do a request
> that fill another table (mclis) with temp's data. But on the new
> tables, I have a field in date format. When I make a
>
> update mclis
> set cli_date = temp.temp1
>
> he doesn't want because of the different formats ('column "cli_date" is
> of type 'date' but expression is of type 'character varying').
>
> In temp, my data are like 01/01/2001
>
Convert your date from varchar to date, using the to_date function.
ex:
to_date('05 Dec 2000', 'DD Mon YYYY')
Take a look at the formating functions available in Postgresql:
http://www.postgresql.org/idocs/index.php?functions-formatting.html
Regards
Miguel Carvalho
Stephane,
> > to_number works in the same fashion as in oracle. You need to give
> > to_number('<yourdata>','formatmask')
> > For example, to_number('1234567','FM9999999')
> >
> > Regards,
> > Gautham.
A list of PostgreSQL functions:
http://www7.us.postgresql.org/users-lounge/docs/7.2/postgres/functions.html
-Josh