On Sunday, March 13, 2016, Ken Tanzer <ken.tan...@gmail.com> wrote: > Hi. Is there a way with to_char to suppress a decimal point, like a > leading or trailing 0, so that integers will not have them, but non-ints > will? I'm hoping I'm missing something easy. Thanks. > > Ken > > SELECT val,to_char(val::decimal(6,2),'FM999,999D99') FROM > ( SELECT 1 AS val UNION SELECT 1.05 AS val) foo; > > val | to_char > ------+--------- > 1 | 1. > 1.05 | 1.05 > > > Not seeing a native way to do so - and I'd question doing so as a general rule - though you know your domain. If you must have this you will want to utilize regexp_replace to identify the situation and replace it. A simple "\.$" check and a substring would work also.
David J.