Thats exactly my mistake, thanks to everyone 

I have a sentence that look like this.


 $mbd = DBI->connect("dbi:Pg:dbname=$database", "$username", "$password")
                or die "Error opening database: $DBI::errstr \n";

        $sth1 = $mbd->prepare
        ("
          INSERT INTO public.table (month, day, server, daemon, duration, 
sent, rcvd)
          VALUES(
                        ?::varchar(5),  ?::varchar(3),
                        ?::varchar(25), ?::varchar(15),
                        ?::varchar(20),  ?::varchar(20), 
                        ?::varchar(20))
                ");

The data type I changed in my database to float4 allowing having float points 
numbers (1.24) but I still have the problem. Postgresql was expecting to 
receive a varchar and my script returns a float

Instead of using varchar I changed it to float4, and It works =)

Thanks to everyone

On Thursday 09 September 2004 01:49 pm, Jeff 'japhy' Pinyan wrote:
> On Sep 9, Eduardo Vazquez Rodriguez said:
> >@duration = $string =~ /\sduration=(.*?)\s/;
> >
> >The first element in duration contains "1.23", in a string format
> >
> >When I try to insert $duration[0], into a field of integer type in a
> > database, I get the Following error:
> >
> >Error Column "duration" is of type integer but expression is of type
> > character varying
>
> You neglected to show us the code that actually inserts the data into the
> table.  Perhaps you've accidentally quoted the data?

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to