Compare_decfloat

COMPARE_DECFLOAT 函數會傳回 DECFLOAT 值的排序。

讀取語法圖跳過視覺化語法圖COMPARE_DECFLOAT(expression-1 ,expression-2)

COMPARE_DECFLOAT 函數會傳回一個小整數值,指出 expression-1expression-2的比較。

expression-1
傳回任何內建數值、字串或圖形字串資料類型的值的表示式。 如果引數不是 DECFLOAT (34) ,則會邏輯轉換為 DECFLOAT (34) 以進行處理。
expression-2
傳回任何內建數值、字串或圖形字串資料類型的值的表示式。 如果引數不是 DECFLOAT (34) ,則會邏輯轉換為 DECFLOAT (34) 以進行處理。

第一個引數會與第二個引數相互比較,並根據下列規則傳回結果。

  • 如果兩個運算元都是有限的,則比較是代數,並遵循 DECFLOAT 減法的 rules 。 如果具有任一符號 且小數點右側具有相同零數目的差異正好為零,則 引數相等。 如果非零差異為正數,則第一個引數大於第二個引數。 如果非零差異為負數,則第一個引數小於第二個引數。
  • 正零與負零比較相等。
  • 正無限與正無限的比較。
  • 正無限比大於任何有限數。
  • 負無限會比較等於負無限。
  • 負無限比小於任何有限數。
  • 數值比較是精確的。 結果是針對有限運算元來決定,就像範圍和精準度無限制一樣。 無法發生溢位或下溢。
  • 如果任一引數是 NaNsNaN (正數或負數) ,則結果為未排序。

結果值設定如下:

此函數的結果為 SMALLINT。 如果任一引數可以是空值,則結果可以是空值; 如果任一引數是空值,則結果是空值。

範例

下列範例示範使用函數時將傳回的值:

     COMPARE_DECFLOAT (DECFLOAT(2.17),  DECFLOAT(2.17))   =  0
     COMPARE_DECFLOAT (DECFLOAT(2.17),  DECFLOAT(2.170))  =  2
     COMPARE_DECFLOAT (DECFLOAT(2.170), DECFLOAT(2.17))   =  1
     COMPARE_DECFLOAT (DECFLOAT(2.17),  DECFLOAT(0.0))    =  2
     COMPARE_DECFLOAT (INFINITY,        INFINITY)         =  0
     COMPARE_DECFLOAT (INFINITY,        -INFINITY)        =  2
     COMPARE_DECFLOAT (DECFLOAT(-2),    INFINITY)         =  1
     COMPARE_DECFLOAT (NAN,             NAN)              =  3
     COMPARE_DECFLOAT (DECFLOAT(-0.1),  SNAN)             =  3