a bug on NLS session parameter ?

nandestay

Member
My computer's Regional and Language Settings are using Canada, English(canada), etc. The supported number format is like : 123,456,789.00

But the pl/sql developer's NLS session parameter NLS_NUMERIC_CHARACTERS is always ',' instead of '.,' . And it can not get reset whenever I change the computer's setting.

The version I am using is Version 7.0.3.1123 (MBCS).
 
NLS settings are only used when number are converted to strings (formatted) on the Oracle Server. If PL/SQL Developer formats a number or date, it uses the Windows Regional settings.
 
Yeah, and that is exactly the problem I encountered. The server setting is ok, and a query like

"select to_char(to_number('1.2','99.9')) from dual" returns '1.2' at server, but '1,2' at client (my computer). And as my last post said, my computer's Regional and Language Settings are using Canada, English(canada), etc. The supported number format is like : 123,456,789.00, which means the NLS session parameter NLS_NUMERIC_CHARACTERS should be '.,'.

And I am wondering if the NLS session parameter is dynamically got when pl/sql developer is started or fixed when pl/sql developer is installed? Thanks!
 
The NLS parameter is an Oracle feature. If you change it, PL/SQL Developer will display numbers an dates accordingly.
 
But I mean the session parameter. The fact is my colleague, who uses an older version of PL/SQL developer at a computer which has the same regional setting as mine, gets the correct NLS_NUMERIC_CHARACTERS ('.,'). And he used my account info for the test.

Both of us feel this is a bug of the new version.
 
Perhaps one of the two has the SQL Window preference "Number fields to_char" enabled? In that case the number fields will be formatted on the server (NLS), instead of the client (Windows Regional Settings).
 
Back
Top