NLS_DATABASE_PARAMETERS

NLS_DATABASE_PARAMETERS は、NLS (National Language Support) データベース・パラメータを示すOracleデータ・ディクショナリ・ビューである。

NLS_DATABASE_PARAMETERS
列名 データ型 NULL 説明
PARAMETER VARCHAR2(30) NOT NULL パラメータの名前
VALUE VARCHAR2(40) パラメータの値

Oracleデータベース・キャラクタ・セットを取得するには、次の問合せを発行する。

SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';

VALUE
--------------------------------------------------------------------------------

AL32UTF8

SQL>

PARAMETER

Oracleデータ・ディクショナリ・ビュー「NLS_DATABASE_PARAMETERS」の「PARAMETER」列は、NLSパラメータの名前を示す。

NLSパラメータの名前には、次のようなものがある。

PARAMETER
説明
NLS_CALENDAR Oracleが使用する暦法
NLS_CHARACTERSET データベース・キャラクタ・セット
NLS_COMP データベース・セッションの照合動作
NLS_CURRENCY 通貨記号
NLS_DATE_FORMAT 日付けの書式
NLS_DATE_LANGUAGE 曜日名、月名および日付の略称に使用する言語
NLS_DUAL_CURRENCY 地域の第二通貨記号
NLS_ISO_CURRENCY C数値書式要素について国際通貨記号として使用する文字列
NLS_LANGUAGE 言語
NLS_LENGTH_SEMANTICS 長さセマンティクス(キャラクタ文字列の長さをバイト単位で定義するか文字数単位で定義するか)
NLS_NCHAR_CHARACTERSET 各国語キャラクタセット
NLS_NCHAR_CONV_EXCP NCHAR/NVARCHAR2データとCHAR/VARCHAR2データの間で暗黙的または明示的なキャラクタ・タイプの変換が行われる際、データ損失が発生した場合にエラーを報告するかどうか
NLS_NUMERIC_CHARACTERS グループ・セパレータおよび小数点として使用する文字
NLS_SORT 言語比較に使用される照合順番
NLS_TERRITORY 地域
NLS_TIMESTAMP_FORMAT TO_CHAR関数およびTO_TIMESTAMP関数で使用するデフォルトのタイムスタンプ書式
NLS_TIMESTAMP_TZ_FORMAT TO_CHAR関数およびTO_TIMESTAMP_TZ関数で使用するデフォルトのタイムスタンプ
NLS_TIME_FORMAT 時刻フォーマット
NLS_TIME_TZ_FORMAT タイムゾーン付き時刻フォーマット

VALUE

Oracleデータ・ディクショナリ・ビュー「NLS_DATABASE_PARAMETERS」の「VALUE」列は、NLSパラメータの値を示す。

NLSパラメータの優先順位

NLSパラメータの設定は、次の優先順位により決定される。

  1. SQL関数での明示的な設定
  2. ALTER SESSION文による設定
  3. 環境変数の設定
  4. 初期化パラメータ・ファイルの設定
  5. デフォルト値

NLSパラメータの設定で最も優先されるのは、SQL関数での明示的な設定である。

SELECT TO_CHAR(hiredate, 'DD/MON/YYYY', 'nls_date_language = JAPANESE') FROM emp;

SQL関数での明示的な設定の次に優先されるのは、ALTER SESSION文による設定である。

ALTER SESSION SET NLS_SORT = JAPANESE;

ALTER SESSION文による設定の次に優先されるのは、クライアントにおける環境変数の設定である。

% export NLS_SORT=JAPANESE

クライアントにおける環境変数の設定の次に優先されるのは、初期化パラメータ・ファイルの設定である。

NLSパラメータが設定されていない場合は、デフォルト値が採用される。

NLSパラメータのデフォルト値
NLSパラメータ デフォルト値
NLS_CALENDAR なし
NLS_COMP BINARY
NLS_CURRENCY NLS_TERRITORYから導出
NLS_DATE_FORMAT NLS_TERRITORYから導出
NLS_DATE_LANGUAGE NLS_LANGUAGEから導出
NLS_DUAL_CURRENCY NLS_TERRITORYから導出
NLS_ISO_CURRENCY NLS_TERRITORYから導出
NLS_LANGUAGE 環境変数 NLS_LANG から導出
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS NLS_TERRITORYから導出
NLS_SORT NLS_LANGUAGEから導出
NLS_TERRITORY オペレーティング・システム依存
NLS_TIMESTAMP_FORMAT NLS_TERRITORYから導出
NLS_TIMESTAMP_TZ_FORMAT NLS_TERRITORYから導出

NLSパラメータの変更

NLSパラメータは ALTER SESSION 文で変更できる。

ALTER SESSION SET NLS_CALENDAR = 'Japanese Imperial' NLS_LENGTH_SEMANTICS = 'CHAR';

データ・ディクショナリ・ビュー

オラクル・データベースのデータ・ディクショナリ・ビューには次のものがある。