Search Postgresql Archives

Re: Suggested (or existing) way to parse currency into numeric?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/12/2015 10:11 AM, David G. Johnston wrote:
On Fri, Jun 12, 2015 at 12:57 PM, Adrian Klaver
<adrian.klaver@xxxxxxxxxxx <mailto:adrian.klaver@xxxxxxxxxxx>>wrote:

    On 06/12/2015 09:46 AM, David G. Johnston wrote:

        Version 9.3
        CREATE TABLE t ( field numeric NULL );
        SELECT * FROM json_populate_record(null::t, '{ "field":
        "$18,665" }'::json);
        Error: invalid input syntax for type numeric: "$18,665"

        I can accept the type of field being something like
        "numeric_cleaned"
        which has a custom input function that would strip away the
        symbols and
        commas (not too concerned about locale at the moment...) and am
        pondering writing my own custom type with supporting SQL function to
        accomplish that but I'm hoping the community can point me to
        something
        already existing.

        I really want to avoid going through a staging table.  I'm more
        inclined
        to brute force the source JSON using "jq" (or sed) before I would go
        that route.

        Thoughts, suggestions, comments?


    test=> CREATE TABLE t ( field money NULL );
    CREATE TABLE
    test=> SELECT * FROM json_populate_record(null::t, '{ "field":
    "$18,665" }'::json);
        field
    ------------
      $18,665.00
    (1 row)


​I wrote that type off as something I would never code into my own
schema so basically forgot about its usability in other situations.

Though if you do not want to use the money type in a table you could do:

test=> select '$18,665'::money::numeric;
 numeric
----------
 18665.00
(1 row)


Thank you for the reminder.

David J.​


--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux