ソートマージ

[目次][用語][索引][前へ][次へ]

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の機能)」を参照してください。