Oracle Databaseには、クライアントとサーバーの両方でのロケール固有の動作を決定する一連のNLS(National Language Support)パラメータが含まれています。
これらのNLSパラメータはさまざまな場所で設定できます。各場所には、他のパラメータとの関係で事前に定義された
| 優先度 | メソッド |
|---|---|
| 1(最高) | SQL関数で明示的に設定されます。 例: TO_CHAR(SYSDATE, 'DD/MON/RR', 'nls_date_language = SPANISH') |
| 2 | ALTER SESSIONによって設定されます 声明。 例: ALTER SESSION SET NLS_TERRITORY = 'AUSTRALIA'; |
| 3 | 環境変数として設定します。 例: % setenv NLS_SORT FRENCH |
| 4 | 初期化パラメータファイルで指定します。 例: NLS_TERRITORY = "AMERICA" |
| 5(最低) | データベースの作成時に指定されたデフォルト値。 |
明確にするために、優先度の高い設定は優先度の低い設定を上書きします。したがって、SQL関数でNLSパラメーターを設定すると、そのパラメーターが設定されている他のすべての場所がオーバーライドされます。
すべての機能で、NLSパラメーターを機能レベルで設定できるわけではありません。 ALTER SESSION ステートメントは次に優先度が高いため、パラメーターが関数にハードコードされていない場合にNLSパラメーターを設定する最も迅速で簡単な方法です。
セッションレベルでNLSパラメータを設定する例については、「Oracleセッションで日付形式を変更する方法」を参照してください。
NLSパラメータの値の確認
V$NLS_PARAMETERSをクエリできます 現在のNLSパラメータの現在の値を確認するための動的パフォーマンスビュー。
次のデータディクショナリビューをクエリして、セッション、インスタンス、およびデータベースのNLSパラメータを確認することもできます。
-
NLS_SESSION_PARAMETERSビューをクエリしているセッションのNLSパラメータとその値を示します。文字セットに関する情報は表示されません。 -
NLS_INSTANCE_PARAMETERS明示的に設定された現在のNLSインスタンスパラメータとNLSインスタンスパラメータの値を示します。 -
NLS_DATABASE_PARAMETERSは、データベースのNLSパラメータの値を示しています。値はデータベースに保存されます。
また、ユーザーアプリケーションは、OCINlsGetInfo()を使用してクライアントのNLS設定をクエリできます。 機能。
NLSパラメータ値のチェック例については、NLSパラメータの値をチェックする方法を参照してください。