1.ORACLEデータベースでは、次の4種類のキャラクタセット体系をサポートしています。
①シングルバイトキャラクタセット
②固定幅マルチバイトキャラクタセット
③可変幅マルチバイトキャラクタセット
④ユニバーサルキャラクタセット
2.言語依存動作の指定:
①NLS_LANG=言語_地域.キャラクタセット
例:Linux環境で指定する場合は $ export NLS_LANG=Japanese_Japan.JA16EUC
②言語依存動作を制御する初期化パラメータ
NLS_LANGUAGEとNLS_TERRITORYの2つです。この二つの初期化パラメータによって、ほかの初期化パラメータのデフォルト値が決定されるようになっています。
3.日付関連データ型の表示書式に関する初期化パラメータ:
初期化パラメータ | 説明 |
NLS_TIMESTAMP_FORMAT | TIMESTAMP データ型とTIMESTAMP WITH LOCAL TIME ZONEデータ型の表示フォーマットを制御する。 |
NLS_TIMESTAMP_TZ_FORMAT | TIMESTAMP WITH TIME ZONE データ型の表示フォーマットを制御する。 |
4. 言語依存動作を管理するにあたり、Oracleサーバーには次のツールが付属しています。
① Oracle Locale Builder
起動する方法:Linuxの場合は、OSコンソールにて、Ibuilderコマンドを使用する。
Windowsの場合は、「スタート」→「プログラム」→「Oracle - Oracleホーム名」→「Configuration and Migration Tools」→「Locale Builder」をクリックします。
② Oracle Character Set Scanner
既存のデータベースのキャラクタセットを、別のキャラクタセットに変換する必要がある場合、文字データの変換が可能かどうかを調べることは重要です。
このために「Oracle Character Set Scanner」を使用します。
起動する方法、最初に、一度だけ、SYSユーザーにて、$ORACLE_HOME/rdbms/admin/csminst.sqlを実行します。
③ 「Language and Character Set File Scanner」というユーティリティもあります。このユーティリティでは、テキストファイル内で使用されている言語とキャラクタセットを判断してくれます。
5.大/小文字またはアクセントを区別しないソートの指定
NLS_SORT セッション・パラメータを使用して、大/小文字またはアクセントを区別しないソートを指定する。
・大/小文字を区別しないソートの場合は、Oracleソート名に_CI を追加する。
・アクセントも大/小文字も区別しないソートの場合は、Oracleソート名に_AIを追加する。
NLS_SORTの値を変更するには、次のような文字を入力する。(NLS_SORTのデフォルト値はBINARYです。)
ALTER SESSION SET NLS_SORT=BINARY_CI;