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パラメータの値をチェックする方法を参照してください。