グローバリゼーション・サポート機能について
グローバリゼーション・サポートにより、世界のどこからでも同時に実行できる多言語アプリケーションを開発できるようになります。アプリケーションにより、ユーザー・インタフェースの内容をレンダリングし、各国語およびユーザーのロケール・プリファレンスでデータを処理できます。
ノート:
以前は、Oracleはグローバリゼーション・サポートNational Language Support (NLS)と呼ばれていましたが、NLSは実際にはグローバリゼーション・サポートのサブセットです。NLSは、各国の言語を選択し、データを特定の文字セットを使用して格納する機能です。NLSは、NLSパラメータで実装します。
関連項目:グローバリゼーション・ サポート機能の詳細は、『Oracle Databaseグローバリゼーション・ サポート・ガイド』を参照してください。
言語サポートについて
Oracle Databaseにより、データを各国語で格納、処理、取得できます。データベースに格納できる言語は、Oracleがサポートする文字セットでエンコードしたスクリプトで記述されたすべての言語です。Unicodeデータベースおよびデータ型を使用することにより、Oracle Databaseでは現代言語のほとんどがサポートされています。
言語のサブセットには追加サポートがあります。たとえば、データベースで翻訳された月名を使用して日付を表示でき、文化的慣習に従ってテキスト・データをソートできます。
このマニュアルでは、言語サポートとは追加的な言語依存機能のことを指し、特定の言語でテキストを保存する機能ではありません。たとえば、言語サポートには、日付の表示または特定の地域および文化的慣習に従ってテキストをソートする機能があります。また、サポートされる言語の一部には、Oracle Databaseによりデータベース・ユーティリティ用に翻訳されたサーバー・メッセージおよび翻訳されたユーザー・インタフェースが提供されます。
関連情報:
-
Oracle Databaseでサポートされている言語の一覧は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照
-
Oracle Databaseメッセージの翻訳に対応する言語の一覧は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照してください。
地域サポートについて
デフォルトのローカル時刻書式、日付書式、数値および通貨関連規則は、ローカル地域の設定によって変わります。
Oracle Databaseでは、様々な地域の文化的慣習がサポートされています。デフォルトのローカル時刻書式、日付書式、数値および通貨関連規則は、ローカル地域の設定によって変わります。NLSパラメータをニーズに応じて設定することで、データベース・セッションに使用される文化設定を変更できます。たとえば、地域がAMERICAであっても、特定のデータベース・セッションに対する基準通貨をユーロ(EUR)に設定したり、補助通貨を日本の円(JPY)に設定したりすることができます。
関連情報:
-
Oracle Databaseがサポートする地域のリストについては、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照
日付および時刻書式について
国ごとに、時、日、月および年を表示する規則があります。
たとえば、この表は、5か国の日付および時刻のローカル書式とその例を示しています。
| Country | 日付フォーマット | 例 | 時間書式 | 例 |
|---|---|---|---|---|
| 中国 | yyyy-mm-dd |
2005-02-28 |
hh24:mi:ss |
13:50:23 |
| エストニア | dd.mm.yyyy |
28.02.2005 |
hh24:mi:ss |
13:50:23 |
| ドイツ | dd.mm.rr |
28.02.05 |
hh24:mi:ss |
13:50:23 |
| UK | dd/mm/yyyy |
28/02/2005 |
hh24:mi:ss |
13:50:23 |
| US | mm/dd/yyyy |
02/28/2005 |
hh:mi:ssxff am |
1:50:23.555 PM |
関連情報:
-
日時データ型およびタイムゾーン・サポートの詳細は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照
-
日付および時間の形式の詳細は、Oracle Database SQL言語リファレンスを参照
カレンダ書式について
国ごとに、異なるカレンダを使用します。
Oracle Databaseは、各地域のカレンダ情報を格納しています。
-
週の初日
日曜日の文化もあれば月曜日の文化もあります。NLS_TERRITORYパラメータによって設定されます。
-
カレンダ年の最初の週
スケジュール、計画、簿記に週番号を使用する国があります。ISO規格では、この週番号が暦年の週番号と異なる場合があります。たとえば、 2005 年 1 月 1 日は、2004年のISOの週番号53となります。ISOの週は月曜日に始まり、日曜日に終わります。ISO規格をサポートするために、OracleにはIW日付書式要素が用意されています。これによりISOの週番号が戻されます。年の最初の暦週は、NLS_TERRITORYパラメータで設定されます。
-
1年の日数および月数
Oracleデータベースでは、デフォルトのグレゴリオ暦の他に、次の6つの暦法をサポートしています。これらの暦法は次のとおりです。
-
Japanese Imperial (日本の元号暦)
グレゴリオ暦と同じ月数と日数ですが、年は元号ごとに始まります。
-
台湾暦
グレゴリオ暦と同じ月数と日数ですが、年は台湾の建国年から始まります。
-
Persian (ペルシャ暦)
最初の6か月の日数がそれぞれ31日、次の5か月はそれぞれ30日、最後の月は29日または30日(うるう年)です。
-
Thai Buddha (タイ仏教暦): 仏教のカレンダを使用します。
-
Arabic Hijrah (イスラム歴): 月数が12で、日数が354または355です。
-
English Hijrah (英語版イスラム歴): 月数が12で、日数が354または355です。
暦法はNLS_CALENDARパラメータで指定します。
-
-
紀元の最初の年
イスラム暦は、ヒジュラ紀元の年から始まります。日本の元号暦は、天皇が即位した最初の年から始まります(たとえば、1999年は平成の10年目)。
関連情報:
-
カレンダ形式の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
数値および通貨の書式について
数値と通貨の規則は国によって異なります。
この表は、5か国の数値および通貨のローカル書式とその例を示しています。
| Country | 数値書式 | 通貨書式 |
|---|---|---|
| 中国 | 1,234,567.89 | ©1,234.56 |
| エストニア | 1 234 567,89 | 1 234,56 kr |
| ドイツ | 1.234.567,89 | 1.234,56€ |
| UK | 1,234,567.89 | £1,234.56 |
| US | 1,234,567.89 | $1,234.56 |
関連情報:
-
数値とリスト・パラメータの詳細は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照してください。
-
通貨パラメータの詳細は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照してください。
-
数値書式モデルの詳細は、Oracle Database SQL言語リファレンスを参照してください。
文字列のソートと検索について
ソート順序(照合順序)は言語によって異なります。また、国や文化が異なると、同じアルファベットでも単語のソート方法が異なります。たとえば、デンマークでは、Zの後にÆがあり、YおよびÜは同じ文字の変形とみなされます。
関連情報:
-
言語ソートと文字列検索の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
長さセマンティクスについて
文字列内の文字数をバイト長を使用して計算するには、文字セット内の各文字のバイト数を知る必要があります。
シングルバイト文字セットの場合、文字列のバイト数と文字数は一致します。マルチバイト文字セットの場合、1文字または1つのコード・ポイントが1つ以上のバイトで構成されています。可変幅文字セットの場合は、バイト長から文字数を計算するのが難しい場合があります。列の長さをバイト単位で計算することはバイト・セマンティクス、文字数ユニットで計算することはキャラクタ・セマンティクスといいます。
キャラクタ・セマンティクスは、可変幅のマルチバイト文字列の記憶要件を指定する場合に役立ちます。たとえば、Unicodeデータベース(AL32UTF8)で、VARCHAR2列に英語5文字と中国語5文字を格納できるようにする必要があるとします。バイト・セマンティクスを使用すると、この列には、長さ3バイトである中国語文字用に15バイトと、長さ1バイトである英語文字用に5バイト、合計20バイトが必要です。キャラクタ・セマンティクスを使用すると、この列に必要な文字数は10となります。
関連情報:
-
キャラクタ・セットおよび長さセマンティクスの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
UnicodeとSQL各国語データ型について
Unicodeは世界で使用されている言語のほとんどのキャラクタを定義するキャラクタ・エンコーディング・システムである。Unicodeではプラットフォーム、プログラム、言語に関係なく、すべての文字が一意のコードに対応しています。
Unicode文字は、Oracle Databaseにおいて次の2つの方法で格納できます。
-
Unicodeデータベースを作成すると、UTF-8でエンコードされた文字をSQL文字データ型(CHAR、VARCHAR2、CLOBおよびLONG)として格納できます。
-
SQL各国語キャラクタ・データ型の列や変数を宣言できます。
SQL各国語キャラクタ・データ型は、NCHAR、NVARCHAR2およびNCLOBです。これらはUnicodeデータの格納にのみしか使用されないため、Unicodeデータ型ともいいます。
すべてのSQL各国語キャラクタ・データ型に使用する各国語文字セットは、データベース作成時に指定します。各国語文字セットは、UTF-8またはAL16UTF16 (デフォルト)のいずれかです。
NCHAR型またはNVARCHAR2型の列や変数を宣言する場合、バイト数ではなく文字数で長さを指定します。
関連情報:
-
Unicodeの詳細は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照してください。
-
Oracle DatabaseでUnicode文字を格納する方法の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
-
SQL各国語データ型に関する詳細は、Oracle Databaseグローバリゼーション・サポート・ガイドを参照してください。