絶対値を求める、数値の符号を求める
ABS ( expr )
SIGN ( expr )
return [ BINARY_DOUBLE | BINARY_FLOAT | NUMBER ]
- 絶対値を戻す。数値の符号を [ +1 | 0 | -1 ] または NULLで戻す。
ABS 関数の内容
絶対値を戻す。データ型は expr と同じ。数値に変換できる文字列の場合には NUMBER 型で戻す。
ABS 使用例
num = NUMBER 型
SQL> set null '<NULL>'
SQL> select num, ABS(num) from abs_sample;
NUM ABS(NUM)
---------- ----------
0 0
-987 987
123 123
<NULL> <NULL>
⇒ SQL*Plus の NULL 表示
d = BINARY_DOUBLE 型
SQL> select d, ABS(d) from abs_sample;
D ABS(D)
---------- ----------
0 0
-9.87E+002 9.87E+002
1.23E+002 1.23E+002
<NULL> <NULL>
SIGN 関数の内容
符号を戻す。符号は [ -1 | 0 | +1 ] または NULL 。
expr < 0 ... -1
expr = 0 ... 0
expr > 0 ... +1
expr IS NULL ... NULL
SIGN 使用例
DECODE 関数 との応用例
SQL> select num, SIGN(num),
2 decode(SIGN(num), -1, '負数', 0, 'ゼロ', 1, '正数', NULL, '空') "符号"
3 from abs_sample;
NUM SIGN(NUM) 符号
---------- ---------- --------
0 0 ゼロ
123 1 正数
-987 -1 負数
<NULL> <NULL> 空
SQL 関数 - ABS,SIGN 関連
- 小数点を切り捨てる ⇒ trunc ( m, n )
- 小数点の四捨五入をする ⇒ round ( m, n )
- ある数値以上で最小の整数を求める ⇒ ceil ( n )
- 小数点の切り上げをする ⇒ roundup ( m, n )
- 最大値を求める ⇒ greatest ( m, n, ... )
- 割り算の余りを求める ⇒ mod ( m, n )
- 累乗、べき乗を求める ⇒ power ( m, n )
- 平方根を求める ⇒ sqrt ( n )
- 16進数から10進数を求める ⇒ hextodec ( h )
- ビット列から数値を求める ⇒ bin_to_num ( 1, 0, 1, ... )
- 数値同士のビット演算処理を行なう ⇒ bitand ( m, n )
- 非数値を 0 に置換する ⇒ nanvl ( m, n )