Thread: allowing ',' (comma) in float8

allowing ',' (comma) in float8

From
stig erikson
Date:
hi.
is it possible to use flort values with a comma as decimal placeholder?

i am trying to use copy to insert a table, the table contains a few columns with
numerical values such as price, the vales are given on the format "2345,12",
postgresql seems to allow only "2345.12".

can i change the behavior on postgresql to allow ',' as decimal placeholder?

postgresql 7.4.6

/stig

Re: [despammed] allowing ',' (comma) in float8

From
Andreas Kretschmer
Date:
am  12.06.2005, um 12:17:12 +0200 mailte stig erikson folgendes:
> hi.
> is it possible to use flort values with a comma as decimal placeholder?
>
> i am trying to use copy to insert a table, the table contains a few columns
> with numerical values such as price, the vales are given on the format
> "2345,12", postgresql seems to allow only "2345.12".

You can pipe the input-file thru tools like sed ore awk and substitute
',' with '.'. This is simple.


Regards, Andreas
--
Andreas Kretschmer    (Kontakt: siehe Header)
Heynitz:  035242/47212,      D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
 ===    Schollglas Unternehmensgruppe    ===

Re: [despammed] allowing ',' (comma) in float8

From
Andreas Kretschmer
Date:
am  19.06.2005, um  9:23:54 +0200 mailte Andreas Kretschmer folgendes:
> am  12.06.2005, um 12:17:12 +0200 mailte stig erikson folgendes:
> > hi.
> > is it possible to use flort values with a comma as decimal placeholder?
> >
> > i am trying to use copy to insert a table, the table contains a few columns
> > with numerical values such as price, the vales are given on the format
> > "2345,12", postgresql seems to allow only "2345.12".
>
> You can pipe the input-file thru tools like sed ore awk and substitute
> ',' with '.'. This is simple.

A little example:
imagine, there is a input-file like this:
(cols separated with tabs)

,----
| kretschmer@kaufbach:~$ cat insert.sql
| bla     1,4
| blub    2,5
| bla,blub        5,2
`----

with 2 cols, the second are numerical with ','.

,----
| kretschmer@kaufbach:~$ awk 'BEGIN{FS="\t";OFS="\t"}{gsub(",",".",$2);print $0}' < insert.sql
| bla     1.4
| blub    2.5
| bla,blub        5.2
`----

now you have, what you need. The string in the first col contains a ',',
this is not converted.


Regards, Andreas
--
Andreas Kretschmer    (Kontakt: siehe Header)
Heynitz:  035242/47212,      D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
 ===    Schollglas Unternehmensgruppe    ===

Re: allowing ',' (comma) in float8

From
Bruno Wolff III
Date:
On Sun, Jun 12, 2005 at 12:17:12 +0200,
  stig erikson <stigerikson_nospam_@yahoo.se> wrote:
> hi.
> is it possible to use flort values with a comma as decimal placeholder?
>
> i am trying to use copy to insert a table, the table contains a few columns
> with numerical values such as price, the vales are given on the format
> "2345,12", postgresql seems to allow only "2345.12".
>
> can i change the behavior on postgresql to allow ',' as decimal placeholder?
>
> postgresql 7.4.6

It looks like you can probably use to_number to convert the input string
to numeric if ',' is the decimal separator in the locale you are using.
You can then cast the numeric value to float.