Oracle SQL 関数 : FLOOR : 指定数値の最大整数値
numberRet := FLOOR( numberSrc );
FLOOR関数は数値データ numberSrc 以下の最も大きい整数を返します。
numberSrc が小数点以下の値があれば、numberSrc より小さくて最も近い整数を返し、
numberSrc が小数点以下の値が無ければ、numberSrc そのものを返します。
以下に「小数点以下を含んだ正の値」「小数点以下を含んだ負の値」「小数点以下のない値」「数値を表す文字列」の例を示します。
2 FLOOR( 12356.15) AS "正の値" |
3 ,FLOOR(-12356.15) AS "負の値" |
4 ,FLOOR( 12356 ) AS "小数点以下無し" |
5 ,FLOOR( '12356.15' ) AS "数値を表す文字列" |
上の例で指定された値が 正 の場合は直感的に分かりやすいのですが、
負 の場合は少し戸惑います。(私の場合ですが)
上記の「-12356.15」についてですが、数直線上で考えて「-12356.15」より、
もっと「0」から遠くなる方向で考えれば FLOOR 関数の結果が「-12357」になることが理解できます。
FLOOR 関数は取り得る値が、数値に変換できるデータのため、以下の様な場合にはエラーが返されます。
2 FLOOR( 'abcdefgh' ) AS "数値ではない文字列" |
FLOOR( 'abcdefgh' ) AS "数値ではない文字列" |
本書用のWebアプリを使ってSQLを実行し学習していきます。初心者の方に分かりやすく、図表を多く使って解説されています。 学習の最後には200問越えのドリルが付いていてSQLのスキルが試せる様になっています。