sql >> データベース >  >> RDS >> Oracle

NLSパラメータとその優先順位を設定する方法(Oracleデータベース)

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


    1. Asin()がPostgreSQLでどのように機能するか

    2. SQL:結果の行を複数回繰り返し、行に番号を付けます

    3. 可観測性のためのPostgreSQLの構成

    4. IN条件がSQLの=より遅いのはなぜですか?