Home > Blockchain >  Number format equivalent function in PostgreSQL
Number format equivalent function in PostgreSQL

Time:11-18

Trying to format the number as per the given format and culture.

Given:

-4059587.225000, --Value
'#,##0.00;(#,##0.00)' --Format
'en-US' --Culture

Will have many patterns, the given one is for example.

Expected output: (4,059,587.23)

In SQL Server we have format() function, what's the equivalent in PostgreSQL?

My try:

select to_char( -4059587.225000, '#,##0.00;(#,##0.00)' );

Error:

multiple decimal points

CodePudding user response:

Use to_char:

SET lc_numeric = 'en_US';

SELECT translate(to_char(-4059587.225000, '9G999G999D99PRFM'), '<>', '()');

   translate    
════════════════
 (4,059,587.23)
(1 row)

CodePudding user response:

How about:

select 
concat( to_char( -4059587.225000, '#,##0.00;' ), to_char( -4059587.225000, '(#,##0.00)' ) );
  • Related