5.5.22 ゼロデータ比較オプション(DIFFZEROオプション)
左分離符号付き数字「d」のキーおよび比較項目において,負符号付きゼロ(−0)を,正符号付きゼロ(+0)より小さい値として扱います。なお,符号なしゼロ(0)と正符号付きゼロ(+0)は同じ値として扱います。
-
DIFFZEROオプションなし
−0 = 0 = +0
-
DIFFZEROオプションあり
−0 < 0
−0 < +0
0 = +0
- 注意事項
-
キー属性または比較項目の属性に,「d(左分離符号付き数字(文字))」を指定していなければ,このオプションは無効となります。
重複レコードの入力順序保存機能(-cmdoptパラメタのDUPオプション)と同時に指定できます。
- 指定例
-
- 【例1】
-
-keyパラメタに指定されたソートキーを例題に,オプション有無のソート結果を次に示します。
入力レコードの+0〜3バイト目の長さ4バイトをソートキーとして昇順ソートします。
注※1 符号の前,および数値部の前後に存在した空白を無視します。
注※2 先頭文字が,符号,数字,空白,およびタブ以外は,正符号付きゼロ値として扱います。
注※3 符号なしのデータは,正の値として扱います。
- 【例2】
-
includeオペランドに指定された比較項目を例題に,オプション有無の選択結果を次に示します。
比較項目の値が「−0」以下のレコードを選択します。
「+0」,「−0」および「0」は同じ値として扱います。0以下(「+0」と「−0」を含む)のデータを選択します。
「−0」は「+0」より小さい値として扱います。「−0」以下(「+0」は含みません)のデータを選択します。
注※1 符号の前,および数値部の前後に存在した空白を無視します。
注※2 先頭文字が,符号,数字,空白,およびタブ以外は,正符号付きゼロ値として扱います。
注※3 符号なしのデータは,正の値として扱います。
- 【例3】
-
includeオペランドに指定された比較項目同士の比較を例題に,オプション有無の選択結果を次に示します。比較項目Aと比較項目Bが同じ値のレコードを選択します。
「+0」,「−0」および「0」は同じ値として扱います。比較項目Aと比較項目Bが同じ値のレコードを選択します。
「−0」は「+0」より小さい値として扱います。比較項目Aと比較項目Bが同じ値のレコードを選択します。「−0」と「+0」は選択されません。
注※1 符号の前,および数値部の前後に存在した空白を無視します。
注※2 数値部に数字と数字以外の文字が混在した場合,先頭から連続した数字だけを比較の対象とします。数字以外の文字より後ろは無視します。
注※3 先頭が符号,数字,空白およびタブでない場合,正符号付きゼロ値として扱います。
注※4 符号なしのデータは,正の値として扱います。