變更 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 功能表「工具」,選取偏好設定。
-
在「偏好設定」視窗的左邊框架中,展開資料庫。
-
在資料庫偏好設定清單中,按一下 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 設為 AMERICAN,使用與地區設定相關的 SQL 函數 TO_DATE 及其選擇性的 NLS_DATE_LANGUAGE 參數:
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 函數的詳細資訊