NLS_NUMERIC_CHARACTERS is incorrect for English/Canada settings
556303Jan 25 2007 — edited Jan 27 2007I've just installed XE on my XP sp2 machine and I can't find a way to get the session to recognize the default (and my) Regional & Language settings for English Canada. The settings are decimal point for a decimal, and comma for grouping, so NLS_NUMERIC_CHARACTERS should = '.,'.
Yet the session value for NLS_NUMERIC_CHARACTERS is a comma ',' and I have no idea where this is coming from.
Alter session appears to have no effect after running the alter session statement itself in SQL Commands:
'ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ".,"'
'Statement processed.
0.40 seconds' (note decimal point is there)
Then immediately run another SQL statement e.g. 'SELECT TO_CHAR(4000, '9G999D99') FROM DUAL;'
and the result:
4 000,00 (back to being a comma)
1 rows returned in 0,01 seconds (back to being a comma)
Now, I don't want to have to be setting session values anyway.
What could be causing XE (or Personal Edition for that matter - had the same problem with that...) to not recognize the values as defined in Control Panel -> Regional & Language Settings for English/Canada?
Note that NLS_LANG = ENGLISH_CANADA.WE8MSWIN1252. I did try changing NLS_LANG to AMERICAN_AMERICA.etc but that made no difference.
NLS_DATABASE_PARAMETERS and NLS_INSTANCE_PARAMETERS show American/America values (default for the installation?) NLS_SESSION_PARAMETERS shows English/Canada values which, other than NLS_NUMERIC_CHARACTERS, appear to be correct for my settings.
I've spent way too much time going through the docs, other semi-related forum entries and continually reconfiguring & rebooting my machine to no avail... Any help would really be appreciated!
Thanks.
Mitch