TOTALORDER
TOTALORDER 関数は DECFLOAT 値の順序付けを返します。
TOTALORDER 関数は、expression-1 と expression-2 の比較方法を示す短精度整数値を返します。
- expression-1
- 任意の組み込み数値、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式。 引数が DECFLOAT(34) でない場合、その引数は処理のために DECFLOAT(34) に論理的に変換されます。
- expression-2
- 任意の組み込み数値、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式。 引数が DECFLOAT(34) でない場合、その引数は処理のために DECFLOAT(34) に論理的に変換されます。
数値の比較は正確であり、有限オペランドの結果は、範囲と精度が無制限の場合と同様に求められます。 オーバーフローまたはアンダーフローが起こってはなりません。
TOTALORDER は、IEEE 754R の全順序述部規則に基づいて順序付けを決定し、結果は以下のようになります。
-1 | 第 2 オペランドと比較して第 1 オペランドの順序が低い場合。 |
0 | 両方のオペランドが同じ順序の場合。 |
1 | 第 2 オペランドと比較して第 1 オペランドの順序が高い場合。 |
特殊値および有限数の順序付けは、以下のようになります。
-NAN<-SNAN<-INFINITY<-0.10<-0.100<-0<0<0.100<0.10<INFINITY<SNAN<NAN
関数の結果は SMALLINT になります。引数のどちらかが NULL になる可能性がある場合は、結果も NULL になる可能性が あります。引数のどちらかが NULL である場合は、結果は NULL 値になります。
例
以下の例に、10 進浮動小数点値を比較する場合の TOTALORDER 関数の使用方法を示します。
TOTALORDER(-INFINITY, -INFINITY) = 0
TOTALORDER(DECFLOAT(-1.0), DECFLOAT(-1.0)) = 0
TOTALORDER(DECFLOAT(-1.0), DECFLOAT(-1.00)) = -1
TOTALORDER(DECFLOAT(-1.0), DECFLOAT(-0.5)) = -1
TOTALORDER(DECFLOAT(-1.0), DECFLOAT(0.5)) = -1
TOTALORDER(DECFLOAT(-1.0), INFINITY) = -1
TOTALORDER(DECFLOAT(-1.0), SNAN) = -1
TOTALORDER(DECFLOAT(-1.0), NAN) = -1
TOTALORDER(NAN, DECFLOAT(-1.0)) = 1
TOTALORDER(-NAN, -NAN) = 0
TOTALORDER(-SNAN, -SNAN) = 0
TOTALORDER(NAN, NAN) = 0
TOTALORDER(SNAN, SNAN) = 0