5.5.21 シフトJISコード比較オプション(SJISオプション)
シフトJISコードの体系に従って,ソートキー,マージキー,集約キー,分割キー,および比較項目を文字単位で比較します。
キー,比較項目にシングルバイト文字(英数字,半角カナ),およびマルチバイト文字(漢字などの全角文字)が混在している場合,シングルバイト文字はマルチバイト文字より先に比較します。
- 注意事項
-
-
キー,または比較項目の属性に「c」を指定していない場合,このオプションは無効となります。
-
シフトJISコードのマルチバイト文字(2バイト文字)の範囲を次の表に示します。
バイト位置
範囲
第1バイト(上位バイト)
0x81〜0x9F,0xE0〜0xEF
第2バイト(下位バイト)
0x40〜0x7E,0x80〜0xFC
-
- 指定例
-
- 【例1】
-
-keyパラメタに指定されたソートキーを例題に,オプション有無のソート結果を次に示します。
入力レコードの+0〜5バイト目の長さ6バイトをソートキーとして昇順ソートします。網掛けはキーの範囲を示します。
SJISオプションなしの場合,キーデータは「JIS8単位コード体系」に従って,1バイト単位で比較します。ソート結果は,半角カナ文字より前にマルチバイト文字が配置されます。
SJISオプションありの場合,キーデータは「シフトJISコード」に従って,文字単位で比較します。シングルバイト文字については,上位バイトに0x00を付加した2バイト長に,また,文字数が足りない場合(レコード1,3,4)は,不足数分の2バイトの0x00を補正した内部表現で比較します。
ソート結果は,半角カナ文字より後ろにマルチバイト文字が配置されます。
- 【例2】
-
-csvkeyパラメタに指定されたソートキーを例題に,オプション有無のソート結果を次に示します。
入力レコードの第1セルの有効桁長6バイトをキーとして昇順ソートします。セルのデリミタ(区切り文字)は,コンマ(0x2C)とします。網掛けはキーの範囲を示します。
SJISオプションなしの場合,データは「JIS8単位コード体系」に従って,1バイト単位で比較します。ソート結果は,半角カナ文字より前にマルチバイト文字が配置されます。
SJISオプションありの場合,データは「シフトJISコード」に従って,文字単位で比較します。
シングルバイト文字については,上位バイトに0x00を付加した2バイト長に,また,文字数が足りない場合(レコード1,3,4)は,不足数分の2バイトの0x00を補正した内部表現で比較します。
ソート結果は,半角カナ文字より後ろにマルチバイト文字が配置されます。
(注)CSVデータの有効桁の調整について
実際に入力したキーデータに過不足がある場合,桁調整を行います。
-
データ長<有効桁数
入力したデータの右側に空白を加え,有効バイト数に調整します。
-
データ長>有効桁数
入力したデータの右側の桁あふれ部分を無視します。
詳細については,「付録B CSVファイルのデータの扱い(SORT EEの機能)」を参照してください。
-