Oracle 絶対値(ABS)と符号(SIGN)を求める方法
Oracleで絶対値と符号を求める方法です。
数値の符号なしの絶対値を求めるには ABS 関数 を利用し、数値の符号のみを求める場合には SIGN 関数 を利用します。
ここでは ORACLEでABS関数を使って絶対値を求める方法 と、SIGN関数を使って符号を求める方法 を紹介します。
絶対値を求めるABS関数
ABS関数は、数値 n の絶対値を求める関数です。
文法:ABS( n )
戻り値:数値型
select
abs(123) ,abs(0) ,abs(-123) ,abs(null)
from dual
結果はこうなりました。
ふむふむ、マイナス値がプラスで返され、NULL は NULL で返されましたね。
符号を求めるSIGN関数
SIGN関数は、数値 n の符号を求める関数です。
文法:SIGN( n )
戻り値:数値型(1:正 -1:負 0:ゼロ)
select
sign(123) ,sign(0) ,sign(-123) ,sign(null)
from dual
結果はこうなりました。
なるほど、数値>0 が 1、数値=0 が 0、数値<0 が -1、NULL は NULL で返されましたね。
まとめ
会計システムなどのデータ連携では、プラスマイナスの符号の代わりに「Debit/Credit」などの区分を設けて、金額は絶対値を接続する・・なんてのは、よくある話ですね。
そういった意味では、実務で絶対値で表現する場面って、ほとんどないのかなー。見積もり、請求などの業務では値引きや赤伝などでマイナス額の表示は必要ですものね。会計でも損益計算書ではマイナス(△)表記がありますし、絶対値なんて言葉自体を知らない方が多いかもしれませんね。
まあ、必要になったらこのサイトを見に来てください。
おつかれさまでした。