DECFLOAT_SORTKEY スカラー関数

DECFLOAT_SORTKEY 関数は、DECFLOAT 値をソートするときに使用できるバイナリー値を戻します。 ソートは、合計順序付けに関する IEEE 754R 仕様に準拠した方法で行われます。

構文図を読むビジュアルシンタックスダイアグラムをスキップするDECFLOAT_SORTKEY( 小数点以下表現式)

スキーマは SYSIBM です。

小数点以下表現式
DECFLOAT 値を戻す式。

decfloat-expression を、文字ストリングまたはグラフィック・ストリングのデータ・タイプにすることもできます。 ストリング入力は、暗黙的に DECFLOAT(34) の数値にキャストされます。

結果は、固定長バイナリー・ストリングで、その長さ属性は decfloat-expression が DECFLOAT(16) 値の場合は 9、decfloat-expression が DECFLOAT(34) 値の場合は 17 です。

結果はnullになる可能性があります。引数がnullの場合、結果もnull値となります。

例: 以下の CREATE TABLE ステートメントを使用して、DECFLOAT 値を含む列をもつ表を作成し、INSERT ステートメントを使用して表にデータを追加するものとします。
   CREATE TABLE T1(D1 DECFLOAT(16));
   INSERT INTO T1 VALUES (2.100);
   INSERT INTO T1 VALUES (2.10);
   INSERT INTO T1 VALUES (2.1000);
   INSERT INTO T1 VALUES (2.1);
次に、以下の SELECT ステートメントを使用して D1 から値を戻します。
   SELECT D1 FROM T1 ORDER BY D1;
SELECT ステートメントは以下の値を戻しますが、列内の数値がすべて同じ値であるために、ORDER BY 文節は無効であり、値は任意の順序で戻されます。
   D1
   ---------

   2.1
   2.1000
   2.10
   2.100
次の SELECT ステートメントは、ORDER BY 文節に DECFLOAT_SORTKEY 関数を含んでおり、正しく順序付けられた値を戻します。
   SELECT D1 
      FROM T1 
      ORDER BY (DECFLOAT_SORTKEY(D1));
   D1
   --------

   2.1000
   2.100
   2.10
   2.1