Oracle SQL 関数 : ABS : 指定数値の絶対値

 numberRet := ABS( numberSrc );

 ABS 関数は数値データ numberSrc の絶対値を返します。
  numberSrc が0以上であれば、numberSrc そのものを返し、
  numberSrc が0より小さい場合は、numberSrc に「-1」が掛けられた値を返します。

  numberSrc が文字列の場合は数値に変換してから絶対値を返します。
  数値に変換できない場合はエラーが返されます。(ORA-01722)

以下に ABS 関数の例を示します。

SQL> SELECT
  2      ABS( 100)  AS "正の整数"
  3     ,ABS(   0)  AS "0の値"
  4     ,ABS(-100)  AS "負の整数"
  5     ,ABS( 1.234E+10)  AS "正の実数"
  6     ,ABS(-1.234E+10)  AS "負の実数"
  7     ,ABS('-12356.15') AS "数値を表す文字列"
  8  FROM DUAL;

  正の整数      0の値   負の整数   正の実数   負の実数 数値を表す文字列
---------- ---------- ---------- ---------- ---------- ----------------
       100          0        100 1.2340E+10 1.2340E+10         12356.15


なお、数値に変換できない文字列を引数に設定した例を示します。

SQL> SELECT
  2      ABS('1234A')
  3  FROM DUAL;
    ABS('1234A')
        *
行2でエラーが発生しました。:
ORA-01722: 数値が無効です。