DBMS_SESSION.Set_NLS does not work with NLS_NUMERIC_CHARACTERS
352200May 15 2007 — edited May 16 2007TEST> ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '. ';
Session altered.
TEST> SELECT 1/2 FROM DUAL;
1/2
--------------------
.5
TEST> BEGIN
2 DBMS_SESSION.Set_NLS('NLS_NUMERIC_CHARACTERS', ''', ''');
3 END;
4 /
PL/SQL procedure successfully completed.
TEST> SELECT 1/2 FROM DUAL;
1/2
--------------------
.5
TEST> ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ', ';
Session altered.
TEST> SELECT 1/2 FROM DUAL;
1/2
--------------------
,5
Originally I observed this problem with EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_...', so it looks like that the problem is common for any method use from PL/SQL code. NLS_DATE_FORMAT works without problems