Re: Suppress decimal point like digits in to_char?

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com>
Cc: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: Suppress decimal point like digits in to_char?
Date: 2016-03-14 01:29:03
Message-ID: CAKFQuwa+Mz0QQe0ZdfhAw5G0+5C70xDHgsZvRzm8tHeO5zWCGQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sunday, March 13, 2016, Ken Tanzer <ken(dot)tanzer(at)gmail(dot)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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ken Tanzer 2016-03-14 01:37:32 Re: Suppress decimal point like digits in to_char?
Previous Message Ken Tanzer 2016-03-13 23:16:21 Suppress decimal point like digits in to_char?