Re: Postgres View DDL - Mailing list pgsql-sql

From Sam Stearns
Subject Re: Postgres View DDL
Date
Msg-id CAN6TVjkTRYMBEq97tbpLsho1dGxtbJX4T_Gvy_dsZx3U82MEmA@mail.gmail.com
Whole thread Raw
In response to Postgres View DDL  (Sam Stearns <sam.stearns@dat.com>)
Responses Re: Postgres View DDL
Re: Postgres View DDL
List pgsql-sql
Tried changing to this:

    (coalesce(REGEXP_REPLACE(broker_mc::numeric, '[^0-9]+', '', 'g'), 0)),
    (coalesce(REGEXP_REPLACE(carrier_mc::numeric, '[^0-9]+', '', 'g'), 0)),
    (coalesce(REGEXP_REPLACE(freight_forwarder_mc::numeric, '[^0-9]+', '', 'g'), 0)),

but that throws this error:

ERROR:  function regexp_replace(numeric, unknown, unknown, unknown) does not exist
LINE 46:     (coalesce(REGEXP_REPLACE(broker_mc::numeric, '[^0-9]+', ...
                                    ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

Sam

On Wed, Oct 16, 2024 at 2:33 PM Sam Stearns <sam.stearns@dat.com> wrote:
Howdy,

I have an Oracle view that's been converted for Postgres.  This block of code in the Oracle view DDL:

TO_NUMBER (NVL (REGEXP_REPLACE (broker_mc, '[^0-9]+', ''), 0)),
TO_NUMBER (NVL (REGEXP_REPLACE (carrier_mc, '[^0-9]+', ''), 0)),
TO_NUMBER (NVL (REGEXP_REPLACE (freight_forwarder_mc, '[^0-9]+', ''), 0)),

has been converted for Postgres as:

(coalesce(REGEXP_REPLACE(broker_mc, '[^0-9]+', '', 'g'), 0))::numeric ,
(coalesce(REGEXP_REPLACE(carrier_mc, '[^0-9]+', '', 'g'), 0))::numeric ,
(coalesce(REGEXP_REPLACE(freight_forwarder_mc, '[^0-9]+', '', 'g'), 0))::numeric ,

which is throwing the following error:

ERROR:  COALESCE types text and integer cannot be matched
LINE 43: ...ce(REGEXP_REPLACE(broker_mc, '[^0-9]+', '', 'g'), 0))::numer...
                                                                                                     ^
I have been looking through:


but I'm not seeing a way to resolve it.  Would anyone be able to advise how to correct this for Postgres, please?

Thanks,

Sam

--

Samuel Stearns
Lead Database Administrator
c: 971 762 6879 | o: 503 672 5115 | DAT.com

DAT


--

Samuel Stearns
Lead Database Administrator
c: 971 762 6879 | o: 503 672 5115 | DAT.com

DAT

pgsql-sql by date:

Previous
From: Sam Stearns
Date:
Subject: Postgres View DDL
Next
From: "David G. Johnston"
Date:
Subject: Re: Postgres View DDL