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