http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions001.htm#i88893
本文内容
- 单行函数
- 数字函数
- 演示数字函数
单行函数
单行函数用于查询表或视图的每个行返回一个结果行。单行函数可以用在 select 列表、WHERE 子句、START WITH 和 CONNECT BY 子句,以及 HAVING 子句。
单行函数包括:
- 数字函数
- 字符函数
- NLS 字符函数
- 日期函数
- 比较函数
- 转换函数
- 大对象函数
- 集合函数
- 层级函数
- 数据挖据函数
- XML 函数
- 编码和解码函数
- NULL 相关函数
- 环境和标识函数
除了单行函数,还有聚合函数、分析函数(Analytic Functions)、对象引用函数(Object Reference Functions)和模型函数(Model Functions)。
本文主要说明 Oracle 11g Release 1 (11.1) 数字函数。
数字函数
数字函数接受数字输入,并返回数字值。
- 大多数返回 NUMBER 值的数字函数,精确到 38 位十进制数字。
- 超越函数,如 COS、COSH、EXP、LN、LOG、SIN、SINH、SQRT、TAN 和 TANH 精确到 36 位十进制。
- 如 ACOS、ASIN、ATAN 和 ATAN2,这些超越函数精确到 30 位十进制。
函数如下表所示。
| 函数 | 描述 |
| ABS(n) | 返回 n 的绝对值。n 为任何数字类型,或可以被隐式转换成数字类型的非数字类型。 |
| COS(n) ACOS(n) COSH(n) |
|
| SIN(n) ASIN(n) SINH(n) |
|
| TAN(n) ATAN(n) ATAN2(n1,n2) TANH(n) |
|
| BITAND(exp1,exp2) | 根据表达式的二进制,按位取与 |
| CEIL(n) FLOOR(n) ROUND(n) ROUND(n, integer) TRUNC (n1) TRUNC (n1,n2) |
|
| EXP(n) POWER(n2,n1) |
|
| LN(n) LOG(n2,n1) |
|
| MOD(n2,n1) | 模。n2 除以 n1 的余数。若 n1 为0,则返回 n2。 |
| NANVL(n2,n1) | 该函数仅对 BINARY_FLOAT 或 BINARY_DOUBLE 类型的浮点数有用。它指示 Oracle 数据库,若 n2 是 NaN(非数字),则返回 n1。若 n2 不是 NaN,则返回 n2。 |
| REMAINDER(n2,n1) | 返回 n2 除以 n1 的余数 |
| SIGN(n) | 返回 n 的符号。 对于 NUMBER 类型,符号为:
对于 BINARY_FLOAT 和 BINARY_DOUBLE,符号为:
|
| SQRT(n) | 平方根 |
| WIDTH_BUCKET( expr, min_value, max_value, num_buckets) | 该函数让你构造等宽直方图,直方图的范围被划分成相同大小的间隔。而 NTILE 函数创建等高直方图。理想的情况下,每个桶是一个实数线的封闭开区间。例如,一个桶可以被分配到 10.00 和 19.999...... 之间,记做 [10,20)。 |
演示数字函数
示例 1:演示 BITAND 函数。
2 BITAND(BIN_TO_NUM(1, 1, 0), BIN_TO_NUM(0, 1, 1)) as "Binary BITAND"
3 FROM DUAL;
Decimal BITAND Binary BITAND
-------------- -------------
2 2
SQL>