Re: Dealing with number formats when server and client are different locales

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Rob Northcott <Rob(dot)Northcott(at)compilator(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Dealing with number formats when server and client are different locales
Date: 2017-09-06 14:49:02
Message-ID: 30164.1504709342@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Rob Northcott <Rob(dot)Northcott(at)compilator(dot)com> writes:
> The problem we've got is that our app (running on PCs) generates commands to send to the SQL server, such as
> UPDATE customers SET cus_balance = 10.4 WHERE cus_key = 'A001'
> This has been working historically because the clients were always UK-based. Now some users are wanting to use European setups with commas as decimals. This is fine inside the application itself but any SQL command strings generated come out in the client PC's local format settings (SET cus_balance = 10,4) and the server doesn't like that.

I was afraid you were going to say that. There's exactly no chance that
that syntax would work as you're hoping. I do not actually believe that
it could work on any flavor of SQL, because of the conflict against what
commas mean for other purposes.

You're gonna have to fix your app. You could maybe make it insert
to_number() calls, but it'd almost certainly be easier to get it to
output numbers in SQL-standard syntax in the first place.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rob Northcott 2017-09-06 15:09:42 Re: Dealing with number formats when server and client are different locales
Previous Message Rob Northcott 2017-09-06 14:08:12 Re: Dealing with number formats when server and client are different locales