On 2020-07-16 18:52, Andy Fan wrote:
The reason I ask this is because I have a task to make numeric output
similar to oracle.

Oracle:

SQL> select 2 / 1.0 from dual;

      2/1.0
----------
          2

PG:

postgres=# select  2 / 1.0;
       ?column?
--------------------
  2.0000000000000000
(1 row)

If the user uses text format, I can just hack some numeric_out function, but if they use binary format,  looks I have to change the driver they used for it. Am I
understand it correctly?

I think what you should be looking at is why the numeric division function produces that scale and possibly make changes there. By the time the type's output or send function is invoked, that's already decided. The output/send functions are not the place to make scale or other semantic adjustments.

--
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to