更改 NLS 参数值
可以采用以下任一方法更改一个或多个 NLS 参数的值。
-
更改所有 SQL Developer 连接的值,包括当前连接和将来连接的值。
-
在客户机中,更改相应 NLS 环境变元的设置。
只有在客户机上,NLS 环境变量的新值才会覆盖相应的 NLS 参数的值。
可以使用环境变量为客户机指定与区域设置相关的行为。例如,在 Linux 系统上,此语句会将 NLS_SORT 环境变量的值设置为
FRENCH,从而覆盖 NLS_SORT 参数的值:% setenv NLS_SORT FRENCH注:环境变量可能与平台相关。
-
使用采用以下语法的 ALTER SESSION 语句仅更改当前会话的值:
ALTER SESSION SET parameter_name=parameter_value [ parameter_name=parameter_value ]... ;仅在当前会话中,新值才会覆盖使用所有上述方法设置的值。
可以使用 ALTER SESSION 测试具有不同区域设置的应用程序。
-
仅针对当前的 SQL 函数调用更改值。
只有针对当前的 SQL 函数调用,新值才会覆盖使用所有上述方法设置的值。
另请参见:
-
Oracle Database SQL Language Reference(了解有关 ALTER SESSION 语句的详细信息)
-
Oracle Database Globalization Support Guide(了解有关设置 NLS 参数的详细信息)
针对所有 SQL Developer 连接更改 NLS 参数值
可以更改所有 SQL Developer 连接(包括当前和将来连接)的 NLS 参数的值。
更改国家语言支持参数值的步骤:
-
从 SQL Developer 菜单“工具”中,选择首选项。
-
在 "Preferences" 窗口的左侧框架中,展开 Database 。
-
在数据库首选项列表中,单击 NLS 。
此时将显示 NLS 参数及其当前值的列表。值字段是菜单。
-
从要更改其值的每个参数右侧的菜单,选择所需的值。
-
单击确定。
NLS 参数现在具有所指定的值。要验证这些值,请参阅“查看 NLS 参数值”。
注:如果 NLS 参数值未反映您的更改,请单击图标运行报表。
另请参见: Oracle SQL Developer User’s Guide(了解有关 SQL Developer 首选项的更多信息)
针对当前 SQL 函数调用更改 NLS 参数值
其行为依赖于 NLS 参数的值的 SQL 函数称为与区域设置相关。某些语言环境相关的 SQL 函数具有可选的 NLS 参数。
具有可选 NLS 参数的本地相关函数包括:
-
TO_CHAR -
TO_DATE -
TO_NUMBER -
NLS_UPPER -
NLS_LOWER -
NLS_INITCAP -
NLSSORT
在所有上述函数中,可以指定以下 NLS 参数:
-
NLS_DATE_LANGUAGE -
NLS_DATE_LANGUAGE -
NLS_NUMERIC_CHARACTERS -
NLS_CURRENCY -
NLS_ISO_CURRENCY -
NLS_DUAL_CURRENCY -
NLS_CALENDAR -
NLS_SORT
在 NLSSORT 函数中,还可以指定以下 NLS 参数:
-
NLS_LANGUAGE -
NLS_TERRITORY -
NLS_DATE_FORMAT
要在函数中指定 NLS 参数,请使用下列语法:
'parameter=value' ['parameter=value']...
假定在对此查询求值时希望 NLS_DATE_LANGUAGE 为 AMERICAN:
SELECT last_name FROM employees WHERE hire_date > '01-JAN-1999';
可以在运行查询前将 NLS_DATE_LANGUAGE 设置为 AMERICAN:
ALTER SESSION SET NLS_DATE_LANGUAGE=American;
SELECT last_name FROM employees WHERE hire_date > '01-JAN-1999';
或者,通过使用与区域设置相关且含可选 NLS_DATE_LANGUAGE 参数的 SQL 函数 TO_DATE,可以在查询内部将 NLS_DATE_LANGUAGE 设置为 AMERICAN:
SELECT last_name FROM employees
WHERE hire_date > TO_DATE('01-JAN-1999', 'DD-MON-YYYY',
'NLS_DATE_LANGUAGE=AMERICAN');
提示:对 SQL 函数中的 NLS 参数使用会话默认值通常会提高性能。因此,仅在不能使用默认 NLS 参数值的 SQL 语句中指定与区域设置相关的 SQL 函数中的可选 NLS 参数。
另请参阅: Oracle Database Globalization Support Guide,了解有关具有可选 NLS 参数的与语言环境相关的 SQL 函数的更多信息