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: 数値が無効です。